2025.3.6
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

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

[第226回]



●PIC16F84A(4)初動がおかしい

PIC16F84AをPIC WRITERにセットして書き込みや読み出しをしようとしたときに起きていた不安定な状態は最初のVddとVppを投入した直後にLoad Config命令を実行することで一旦は収まったように見えたのですがさらに繰り返しテストを続けていくとそれまでとは別のおかしなことが起きることがわかってきました。
PIC WRITERプログラムを直して最初にVddとVppを投入した後にLoad Config命令を実行しその後でDevice IDとConfigの値を読むようにしたところ、その両方の値が0000になってしまいます。
プログラムのどこかにミスがあるのかと思ってずいぶん何回も確認したのですが特におかしなところはないように思えました。
最初にその値を読み出した時は0000になっても続いてPIC16F84Aのプログラムコードを読み出すと正しく読み出せますしその最後にConfigの値を読み出すとそのときには0000ではなくて本来の値がちゃんと読み出せます。
最初にIDとConfigの値を読み出すようにしたのはテストのためなのでそこは無視してしまってもよいようなものなのですが。
いかにも気持ちが悪い動作です。
そこでひとつ前の/PICRD1と/PICRDに分けたプログラムに戻ってもう少し追求してみることにしました。
すると。
*** pic i/o ***
picio-30 connected
>/picrd1
400C[00][00][00][00]
>/picrd1
400C[60][05][FB][3F]
>/exit

最初に/PICRD1を実行したときにIDとConfigの値が正しく読み出せるときもあるのですがUSB接続を切ってしばらくしてから再接続をしてプログラムを起動すると0000になる場合が多いことがわかってきました。
しかし続けてもう一度/PICRD1実行すると今度は正しい値が読み出されます。
どうも最初の電源投入時に0000になってしまうようです。
なぜ0000になってしまうのか。
どうにも納得がいきません。
さらにつっこんでこの奇妙な現象を追求してみることにしました。

ほかにもやらなくてはならないことなどがあってなかなか時間が取れません。
少し書いただけで細切れで終ってしまいます。
今回はこれだけで終わりです。
次回は奇妙な現象の謎に迫ります。

PICBASICコンパイラ[第226回]
2025.3.6 upload

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