« 名古屋市科学館 放電ラボ | トップページ | PICのお勉強(14)C言語編 2個のLED交互点滅 »

2012年5月19日 (土)

PICのお勉強(13)C言語編 LEDの点灯

 しばらくサボってたPICのお勉強を,アセンブラじゃなくてC言語で再開しようと思います。まあアセンブラがめんどくさくなっただけですな(笑)
 とりあえず,以前アセンブラでやったことをCでやり直してみるつもりです。とは言っても,C言語も生まれて初めてさわるので,どうなることかわかりませんが。
 コンパイラは,以前MPLAB IDE v.8.80をインストールしたときに同時に入ったHI-TECH C Compiler v.9.83を使います。テストボードは16F84Aを載せたこれです。

で,今日初めて書いたプログラムがコレ

/**************************
16F84A
RA2とRA3のLED点灯
**************************/

#include <pic.h>
__CONFIG(HS & WDTDIS & PWRTDIS & UNPROTECT);

void main (void)
{
// TRISA入出力設定  RA0,RA1は入力、RA2~RA4は出力
TRISA = 0b00011;

while(1)
{
// RA2とRA3点灯
PORTA = 0b01100;
}

}

 ところが,これをコンパイルするとエラーを連発します。
調べてみたところ,HI-TECH Cのv.9.81以降はヘッダファイルが全面改定されていて,__CONFIGの書き方が変わっちゃったんだそうです。20120519 手っ取り早い解決方法は,Build OptionのCompilerタブを開いてDefine macrosに「_LEGACY_HEADERS」と書いて,Addすることのようです。確かにこれでコンパイル成功(^^)
 しかし,こういう仕様変更をしたときは,上位互換にしとくもんじゃないですかねー。

 RA2とRA3に接続したLEDを点灯させるだけのプログラムですが,アセンブラより断然カンタンじゃないですか。
こりゃいいわーshine

|

« 名古屋市科学館 放電ラボ | トップページ | PICのお勉強(14)C言語編 2個のLED交互点滅 »

PICマイコン」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/26930/54749410

この記事へのトラックバック一覧です: PICのお勉強(13)C言語編 LEDの点灯:

« 名古屋市科学館 放電ラボ | トップページ | PICのお勉強(14)C言語編 2個のLED交互点滅 »