今週は一週間お盆休みだったのだが、前半は2日間休日出社、そして、後半4日間は、とある所からPICマイコンが動かないのでヘルプを依頼。最近PICと戯れてないからいっちょやるかwww
という訳で、最初にコードが送られてきたので色々検証。しかし、実機が来るのが週末なので、待っていると時間が無い。ブレッドボードで簡略化した回路でさっと組み上げる。
今回は外付け発振回路で32.768KHzで動かす物らしい。水晶は100均の時計から拝借。
時計を作るのに、100均の時計を買ってくるなんて、なんだか矛盾しているが、100均では水晶を時計にする方法とか買えないわけであり、それが知識と経験として自分に積み上がっていく。
真ん中に見えるコネクターは秋月のUSB-RS232Cコネクタ。これでprintfデバッグする。
内部時計の動作がさっぱり分からないので、printfデバッグで外からモニターできるようにTera termを接続。ボーレートは1024ボーか8192ボーが最高であるが、これができるだけでもデバッグには非常に強力である。
コード自体は
while(1){
printf("\n%02u", Hour);
printf(":%02u", Min);
printf(":%02u", Sec);
printf("\n\033[%dA", 2);
}
と書いただけであるが、これだけでコンソールにこう表示してくれる。最後の
printf("\n\033[%dA", 2);
は1行上に戻るエスケープシーケンスコードで、こうしておけばTeratermで表示する時、いつも同じ箇所に表示してくれる。
PICをprintfするには以前記事にしたので、ご参考までに。
configでLPモード発振を使ったのは初めてである。ClockOUT波形。なんと1Vしかない。その他のPICも調べたのだが、同じくらいの振幅。LPモードは特殊な状態にしている様だ。CLK OUTだから電源電圧一杯振っているわけではなかった。XL、HSモードは逆に電源電圧まで振れている。
CLKINは、オシロスコープの容量負荷が影響して正しく測れなかった。
出力の定義は見つけられなかったが、入力はVILが0.3Vmax、VIHが1.6Vminとなっている。内部でクランプしてうまいこと動作させているのだろうか。この辺の参考文献はあまり多く無い様で、ネットで調べても、ずばりと言うのは無かった。
4日間、なんとか目標の動作するプログラムができて、ソースコードと開発装置一式を送ることができた。なので机の上の散らかったのは取り敢えず撤収。
明け方まで頑張った日もあったが、ずっとやっていなかったPICの事がまたできて、とても良かった。開発は面白いね(・∀・)
いつになるかは未定だが、折角なのでLPモードについての説明を取り上げてみたいと思う。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※投稿には管理者が設定した質問に答える必要があります。