コンフィギュレーションの記述


【コンフィギュレーションとは】

 コンフィギュレーションとは、クロック発振器構成、 ウォッチドッグタイマの使用、
プログラムコード保護設定など、PICのハードウェア的な動作モードをきめるための
設定用レジスタです。常にプログラムを書き込むときに一緒にプログラマで外部から
書き込む必要があります。
 16ビットPICファミリでは、コンフィギュレーション ビットは、プログラムメモリ内の
コンフィギュレーション空間」に置かれていますが、16ビットファミリのPICは電源
オフで消えてしまうため電源オンリセットの都度書き直す必要があります。
(8ビットファミリは消えないメモリに書き込まれるので再書き込みの必要がない)

 そこでプログラム書き込みの際にプログラムメモリの最後の部分の「フラッシュ
コンフィギュレーション ワード
」にコンフィギュレーション ビットの内容を書き込む
ようになっています。

 そしてリセットによりプログラムが0番地から実行開始する直前に、書き込んだ
コンフィギュレーション内容を本来のコンフィギュレーション ビット位置にコピーして
動作を開始するようになっています。


【C30での記述方法】

 MPLAB C30コンパイラでは、あらかじめこのコンフィギュレーション ビットの設定内容を
プログラム中に記述しておけるように、_CONFIG11()と_CONFIG2()という2つのマクロ命令
が用意されています。

 これらのマクロで使えるコンフィギュレーションのパラメータについては、それぞれの
デバイスのヘッダーファイルの中に記述されていますのでそれを参照する必要があります。
 PIC24Fファミリの場合は下表のようにパラメータが定義されています。
 これらのパラメータを使って、実際の記述は下記のようにします。



このように必要なパラメータの間を&で接続して並べて記述します。

 MPLAB IDEのConfiguration Bitで設定して書き込むこともできますが、あらかじめ
プログラム内にコンフィギュレーションの条件を指定しておけば忘れることもありませんし、
毎回設定を確認する必要もなく便利です。ただし、この設定はマイクロチップ純正の
プログラマでないと有効になりませんので注意して下さい。

コンフィギュレーションビットの例(PIC24Fファミリ)
表1:_CONFIG1用パラメータ




表2:_CONFIG2用パラメータ






   目次ページへ