コンフィギュレーションの指定方法


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

 コンフィギュレーションとは、クロック発振器構成、 ウォッチドッグタイマの使用、
プログラムコード保護設定など、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など)を参照して下さい。

《変更例》
  コンフィギュレーションパラメータが変更されました。
  各プログラムの__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
別の方法として、ソースファイルの先頭に下記1行を追加すると
旧の書式のままでもコンパイルが正常にできます。

#define _LEGACY_HEADERS

   目次ページへ