色々調べたところ、実は文字化けしているのではなくて「PIC自体にリセットが掛かっている」ことがわかりました。さらに調べると、FT245AMにデータが到着した際に立つビット(RXF#信号)が悪さをしていることがわかりました。
この信号はPICのRB3ピンに繋がっているのですが、PIC 16F887のRB3ピンはPGMピンという見慣れないピンを兼用しています。このピンはLVP(Low Voltage Programmingモード)モードという低電圧プログラミング機能のためのもので、そしてLVPモードはデフォルトのコンフィグ・ワードではオンになっています。
#pragma DATA _CONFIG1, _INTRC_OSC_NOCLKOUT & _WDT_OFF , ... _LVP_OFF
と_LVP_OFFを追加したらリセットが掛からなくなりました。
ちょっとハマってしまいました。
3 件のコメント:
私も同じところで躓いており、途方にくれておりましたが、こちらでビンゴ情報を得、無事解決しました。ありがとうございます。
お役に立てて幸いです。
こういうコメントをいただくとブログを継続する気力がわきます(と言いつつ、諸事情で、最近は腰を据えた電子工作はできていませんが)。
わたしもPGMピンをピンセットで触ると動作が停止して困ってました。
アウトプットに設定したり、プルアップに設定したりしてもだめで、おっしゃるとおりLVPでした。。
コメントを投稿