しっかり基本を確認してからやり始めてればこんな失敗は無いのだと思うが、まず実践、というのがポリシーというか、そうでなきゃ面白くねえじゃんというタチなので仕方ない。
まず回路を組んで、他人の書いたアセンブラのコードをもらってきて、MPLAB IDEでHEXを生成して、PICKit3と自作アダプタで書き込み、組んだ回路で動作を試す。
最初にやったことは大まかにこういうことだった。
幸か不幸か、MCLRをプルアップしてある回路にお目にかからず(あっても気づかなかっただけかもしれないが)、プログラムの中で知らないうちにMCLRの機能を停止設定にしてあったのにも当然気づかなかった。
同じ手順だが、プログラムとHEXの生成にmikroBASICを使うようになったら、プログラム中ではなくEdit Projectの中で自分で設定をするようになっていたので、知らないからMCLRをEnabledにしてビルドしてしまい、回路を組んで動作させたら不安定だ、ということになった。
以上、言い訳。
で、具体的にどうすればいいかというと、
はじめてmikroBASICを使ってみたに書いたように、4pinに何もつながないならDisabledに設定する。この場合はもちろんプルアップしなくてもいい。
4pinに何かつなぐ前提で、4pinをリセット動作に使うならMCLRはEnaebledにし、他の用途に使うならMCLRはDisabledにする。
リセットの動作を見てみたかったので、上の例ではスイッチをはさんでいるが、リセット(クリアー?)が必要なければ0.1μF程度のコンデンサをはさんでグランドに接続すればいいらしい。
そして何よりも大事なのは、まず「基本を学べ。」ということだが、たぶん、こっちの方は私には無理だ。
Tweet