【コンフィギュレーションとは】
コンフィギュレーションとは、クロック発振器構成、 ウォッチドッグタイマの使用、
プログラムコード保護設定など、PICのハードウェア的な動作モードをきめるための
設定用レジスタです。常にプログラムを書き込むときに一緒にプログラマで外部から
書き込む必要があります。
PIC16ファミリでは、コンフィギュレーション ビットは、プログラムメモリ内の
「コンフィギュレーション空間」に置かれていて、プログラムの書き込みの際に
一緒にコンフィギュレーションも書き込むようにする必要があります。
【HI-TECH Cコンパイラでの記述方法】
HI-TECH Cコンパイラでは、あらかじめこのコンフィギュレーション ビットの設定内容を
プログラム中に記述しておけるように、「__CONFIG(x)」というマクロ命令が用意されて
います。 (アンダーバーは2個連続ですので要注意)
これらのマクロで使えるコンフィギュレーションのパラメータについては、それぞれの
デバイスのヘッダーファイルの中に記述されていますのでそれを参照する必要があります。
これらのパラメータを使って、実際の記述は下記のようにします。
/***** コンフィギュレーションの設定 ********/
__CONFIG (HS & WDTDIS & PWRTEN & BOREN & MCLREN & LVPDIS &
DEBUGDIS & DUNPROTECT & UNPROTECT & IESODIS & FCMDIS);
このように必要なパラメータの間を「&」で接続して並べて記述します。
MPLAB IDEのConfiguration Bitで設定して書き込むこともできますが、あらかじめ
プログラム内にコンフィギュレーションの条件を指定しておけば忘れることもありませんし、
毎回設定を確認する必要もなく便利です。ただし、この設定はマイクロチップ純正の
プログラマでないと有効になりませんので注意して下さい。
【注意】
MPLAB IDE Ver8.66(HI-TECH Ver9.81) でレジスタ名、コンフィギュレーションパラメータの多くが
変更になりました。詳しくは C:\Program Files\HI-TECH Software\PICC\9.81\include にある
ヘッダファイル(pic12f683.hなど)を参照して下さい。《変更例》別の方法として、ソースファイルの先頭に下記1行を追加すると
コンフィギュレーションパラメータが変更されました。
各プログラムの__CONFIGのパラメータの下記変更が必要です。
旧パラメータ → 新パラメータ
EC → FOSC_EC
HS → FOSC_HS
INTIO → FOSC_INTOSCIO
INTCLK → FOSC_INTOSCCLK
WDTDIS → WDTE_OFF
PWRTEN → PWRTE_ON
BORDIS → BOREN_OFF
BOREN → BOREN_ON
MCLRDIS → MCLRE_OFF
MCLREN → MCLRE_ON
UNPROTECT → CP_OFF
IESODIS → IESO_OFF
FCMDIS → FCMEN_OFF
また、その他のレジスタ名も一部変更になっています。
OPTION → OPTION_REG
GPIOx → GPx (xは0〜5)
GPPU → nGPPU
GODONE → GO
旧の書式のままでもコンパイルが正常にできます。
#define _LEGACY_HEADERS