2024.10.24
前へ

ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第155回]



●4日間悩んでおりました

前回書きましたようにICSP(In−Circuit Serial Programming)機能を使ってオンボードのPICにプログラムを書き込むということはVpp=+5VのままでPICにプログラムを書き込むPIC WRITERを作ることにほかなりません。
PIC WRITERは以前にいくつかのPICに対して書き込むところまでテスト的に行ないました。
その時はND80Z3.5の82C55にPIC WRITER回路を接続してVpp=+9Vで書き込みを行ないました。
そのときのプログラム(当然Z80アセンブラプログラム)をPICのアセンブラプログラムに書き換えるとともにVpp=+5Vで書き込みを行なうプログラムにしなければなりません。
その手始めとしてとりあえずは全消去(バルクイレーズ)の部分のみを作成して動作テストを行なったのですが。
非常に不安定な動作になってしまいました。
いえ。ターゲットのPICのイレーズができないどころではありません。
それ以前の状態です。
とにかく新しく作成したプログラムを書き込んだPICをUSB接続するとUSB接続が不安定で正常な通信が行なわれません。
その原因が全くわからずまるっと4日間悩んでしまいました。
もっともその間ずっと悩んでいたわけではありません。
このところいっぱいご注文をいただいてめちゃめちゃ忙しい毎日です(感謝です)。
したがって毎日PICにかかっておれません。
なんじゃろうなあとは思いつつ、原因をしっかり追求することもできずにただ悩んでいたというのが実情です。
それで、本日になってやっと少し時間が取れましたのでちょっと落ち着いて手順を追って確認してみましたところまさかの事実が判明しました。
(これはPICのドキュメントのどこかに書いてあるのかもしれませんが)
ほかのPICについてはまだわかりませんが少なくともPIC18F14K50(おそらくPIC18F13K50も同じ)では、プログラムの先頭のCONFIGでLVP=ONにしてはならないということのようです。
PICは工場出荷の状態ではLVP=OFFになっています。
つまりVpp=+9Vのモードになっています。
それをVpp=+5Vに指定するのがLVP=ONです。
そうするとUSB動作が不安定になります。
あ。
ひょっとしたら。
確かPICドキュメントのどこかにVpp=+5VにするときはUSBをOFFにしなければならない、と書いてあったようです。
ひょっとするとVpp=+5Vの設定はUSB電圧に影響を与えるのかもしれません。
そういえばターゲットのPICボードはI/O機能のみでUSB接続は考えていないので問題はない、というように思ったことを思い出しました。
でもなんとなくことのついでなのでと思って、ついUSB接続側のPIC(これがPIC WRITERの役目をします!)のプログラムもLVP=ONにしてしまったのでした。
それで。
CONFIGでLVP=OFFにしたところ、正常に動作するようになりました。
やれやれです。
やっと、そこまで進みました。
はじめの一歩です。
まだご注文の作業に没頭しなければなりませんから次の一歩はもう少し先になってしまいそうです。

PICBASICコンパイラ[第155回]
2024.10.24 upload

前へ

ホームページトップへ戻る