そこで、無償のMAPLABで使える無償でメモリー制限の無いHI-TECH C とC18を使ってみるもとにしました。
CONFIGとか初期設定がPIC毎に重要になってくるので、覚書としてブログに投稿しています。
まずは手持ちのPICを 12F629を試してみることにしました。
Googleで検索して調べながらしましたが、どうもHI-TECH CのバージョンによりCONFIGビットの書き方が違うようでかなり悩みました。検索すると古いバージョンのサンプルが多いようです。
__CONFIG(UNPROTECT & MCLRDIS & BORDIS & PWRTEN & WDTDIS & INTIO) ;
このパターンは古いバージョンとなり、ソースの先頭に
#define _LEGACY_HEADERS
が必要になります、このおまじないをつければ、古いバージョンのソースが使えます。
ここでつかったサンプルソースは新しいバージョンのCONFIGです。
#define _LEGACY_HEADERSは必要ないのでコメントにしています。
ソースは以下の通りです。
__CONFIG(CP_OFF & BOREN_OFF & MCLRE_OFF & PWRTE_OFF & WDTE_OFF & FOSC_INTRCIO); //Idoling current 0.06uA
void main(void){
int i;
GPIO=0;
CMCON = 0b00000111;
TRISIO = 0b00000000;
//ANSEL = 0x00;
while(1){
for (i=0;i<5 p="p"> GPIO=0b00111111;
__delay_ms(30);
GPIO=0b00000000;
__delay_ms(70);
}
__delay_ms(50);
for (i=0;i<2 nbsp="nbsp" p="p"> GPIO=0b00111111;
__delay_ms(30);
GPIO=0b00000000;
__delay_ms(170);
}
__delay_ms(500);
}
}
2>5>