Microchip XC8のCONFIGの表記
2013-02-06



禺画像]

BBSでconfig表記についてご質問を頂いた時に、configワードが2つあるPICマイコンは2回に分けて__configを定義する事で設定ができると伝えた。

禺画像]

XC8のマニュアルにもそのことが書いてあるのだが、色々調べると#pragmaによって設定出来るようだ。Hitech PICCの時代は、
C:\Program Files\HI-TECH Software\PICC\9.83\include
から該当のチップのヘッダーファイルをテキストエディタで開いて、configのシンボルやレジスターのシンボルを調べたのだが、Microchip XC8になると、
C:\Program Files\Microchip\xc8\v1.12\include
にヘッダーファイルが存在するが、その中身にconfigで設定するシンボルが記載されていない。
暫くは、昔のHitech PICCのヘッダを参照しては__configで書いていたのだが、


禺画像]

なんと、C:\Program Files\Microchip\xc8\v1.12\docs\chips の部分にデバイス別のhtmlファイルが存在している事をtwitterで知った。

禺画像]

ダブルクリックすると、確かにconfigについて情報が書かれている。特に#pragma configを使えば設定できる事も書いてある。以前にMPLABXでconfigに構文エラーが出ていたのも、この事がどうやら原因らしい。


禺画像]

というわけで、早速書きなおしてみる。バックスラッシュ(\ ¥)は次の行を繋ぐためのものある。
一行でまとめられるのは便利である。それでは早速ビルド。

あれ?8000000=INTOSCは定義なしとエラーがでる。何故だ?


禺画像]

FOSC=INTOSCの部分を削除してビルド。今度は成功。色々やっていく内に、この8000000というのはdelayマクロで使われる、_XTAL_FREQの8メガ設定じゃないのか?試しに4000000とかにしてみると、エラーが4000000=INTOSCに変わった。あ、もしかして#pragmaの位置が悪いのか!


禺画像]

ということで、#pragmaの位置を色々includeする手前の先頭になるようにmain.hの最初に記述。
そしてビルドしたら問題なくビルドが完了した。config設定内容を確認したり、パラメータを変えて確認もしてみたりして問題が無いことを確認。

続きを読む

[電子]
[PIC]

コメント(全2件)
コメントをする


記事を書く
powered by ASAHIネット