PIC12F1822の「RA4」が曲者!?
2013-09-09
随分お気に入りになってしまったPIC12F1822ですが、やはり「クセ」のようなものがあります。ちょっとした落とし穴がありましたので覚書・・・。
このPICを「MPLAB X IDE」でコンパイルして「PICkit 3 Programmer」で書き込みを行うと、RA4のビットがディフォルトで「CLKOUT」として動作するピンになってしまうんです。これに気づかずにデバッグしていると、RA4のピンが全く動作しないため、「おいおい、飛ばしちゃったかな
」と焦りますのでご用心
多分、 IDEでCLKOUTのデバッグをする機能を使えるようにこうなっているんでしょうが、「#pragma config」での指定(CLKOUTEN = OFF)は見事に無視されます
IDE上でConfig ビットを弄ってからコンパイルしても反映されず・・・。
解決策としては、今いまの書き込みツールである「PICkit 3 Programmer」でHexファイルを読み込む度に、Configの当該ビットの値を書き換えていますが、実際ちょっと難儀です

まぁ、操作自体は簡単で、矢印の先の部分をクリックするとポップアップでConfigエディタが開くんで、当該ビットを「お好きにどうぞ」という寸法です。
IDE自体、デバッグ用のフォルダと書き込み用のHexファイルが吐き出されるフォルダは違っていますから、ちょっと工夫すれば解決しそうですがねぇ・・・Microchipさん、何とかしてけろ
このPICを「MPLAB X IDE」でコンパイルして「PICkit 3 Programmer」で書き込みを行うと、RA4のビットがディフォルトで「CLKOUT」として動作するピンになってしまうんです。これに気づかずにデバッグしていると、RA4のピンが全く動作しないため、「おいおい、飛ばしちゃったかな


多分、 IDEでCLKOUTのデバッグをする機能を使えるようにこうなっているんでしょうが、「#pragma config」での指定(CLKOUTEN = OFF)は見事に無視されます

解決策としては、今いまの書き込みツールである「PICkit 3 Programmer」でHexファイルを読み込む度に、Configの当該ビットの値を書き換えていますが、実際ちょっと難儀です


まぁ、操作自体は簡単で、矢印の先の部分をクリックするとポップアップでConfigエディタが開くんで、当該ビットを「お好きにどうぞ」という寸法です。
IDE自体、デバッグ用のフォルダと書き込み用のHexファイルが吐き出されるフォルダは違っていますから、ちょっと工夫すれば解決しそうですがねぇ・・・Microchipさん、何とかしてけろ

- 関連記事
-
- PIC12(L)F・・・「L」の意味合い
- XC8の「クセ」など
- PIC12F1822の「RA4」が曲者!?
- 「MPLAB X IPE」でプログラムできない・・・
- XC8が用意するEEPROM用関数
コメントの投稿
No title
まさにこれと同じ状況に陥ってしまった者です。
同士がいてなんとなく安心した者でもあります。
その後、解決していらっしゃるかもしれませんが、同じように困っている人もいるかも知れず、自己解決したので、書いておきます。
同じ原因とも限りませんが、私の場合は、
#define ON 1
#define OFF 0
と、自分で作ったソース中に書いていたのが原因でした。
たぶんmicrochipがお膳立てしているソース中のどこかに
#define ON 0
#define OFF 1
と定義されているのをひっくり返してしまうんでしょうね。
ではでは。
同士がいてなんとなく安心した者でもあります。
その後、解決していらっしゃるかもしれませんが、同じように困っている人もいるかも知れず、自己解決したので、書いておきます。
同じ原因とも限りませんが、私の場合は、
#define ON 1
#define OFF 0
と、自分で作ったソース中に書いていたのが原因でした。
たぶんmicrochipがお膳立てしているソース中のどこかに
#define ON 0
#define OFF 1
と定義されているのをひっくり返してしまうんでしょうね。
ではでは。
フリーの環境ですから・・・
ここを参考にさせていただいた人さん、こんにちは。
コメントありがとうございます。実は、最近はこのプログラマは使っていないため、この記事の件は放ってあります。
CLKOUTについては、configの表記上は「オーバー・バー」…即ち否定を背負ってますから、そもそも設定が逆で正しいのかも知れません。
何れにせよフリーの環境ですから、大目にみようと思います。また、寄って下さい。
コメントありがとうございます。実は、最近はこのプログラマは使っていないため、この記事の件は放ってあります。
CLKOUTについては、configの表記上は「オーバー・バー」…即ち否定を背負ってますから、そもそも設定が逆で正しいのかも知れません。
何れにせよフリーの環境ですから、大目にみようと思います。また、寄って下さい。