PICでのプログラミングを再開
2023/04/12
パソコンが新しくなり、内部に溜まっていた色々なデータが無くなった。
それらを財産と見るか過去の遺物やゴミなどと見るか(何がどちらに属するのかはどうも分別が付かないのだが)はともあれ、大部分が整理された。
そして必要なアプリの再度のインストールもしなければならないものもあり、気分的にも心機一転という感じになった。
そこで、パソコンの横の机の上で埃だらけになっているPICの実験アイテムを復活させることにした。
パソコンが新しくなり、OSもWindows8からWindows11と一気にグレードアップしたのである。
ということで、PICの開発ソフトも新規にダウンロードした。
幸いなことにPICを出している会社の環境はそう大きくは変わっておらず、このHPの「電子回路の実験」中の「PIC18F4550を使ってLEDを光らせる」に記述してあるマイクロチップ社のHPからダウンロードした。
同じような回路が残っていたので、埃を払い、もう一度初心者用のプログラムを書いてみる。
// ??????????? pic18f4550 c18
#pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2
#pragma config FOSC = HSPLL_HS, FCMEN = OFF, IESO = OFF
#pragma config PWRT = ON, BOR = OFF, BORV = 0
#pragma config VREGEN = ON, WDT = OFF, WDTPS = 1
#pragma config CCP2MX = OFF, PBADEN = OFF, LPT1OSC = OFF
#pragma config MCLRE = OFF, STVREN = OFF, LVP = OFF
#pragma config ICPRT = OFF, XINST = OFF, DEBUG = OFF
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF
#pragma config CPB = OFF, CPD = OFF
#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF
#pragma config WRTC = OFF, WRTB = OFF, WRTD = OFF
#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF, EBTRB = OFF
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include
#define _XTAL_FREQ 48000000 // 48MHz??
void PICinit(){
TRISA = 0b00000000; // PORTA output
PORTA = 0b00000000; //RA????????(LOW)
return;
}
int main(void){
PICinit(); //PIC????
while(1){
RA1 = 1; //RA1????HIGH
__delay_ms(200); //200ms??
RA1 = 0;
__delay_ms(200);
}
return 0;
}
設定がおかしいのか、漢字が全て文字化けしてしまうのである。
まぁ、漢字が文字化けしてもコメントの内部のことなので実害は無いのだが、コメントに日本語が使えないのはイマイチなのである。
なんとか実行してLEDが点滅して「めでたしめでたし」だったのであるが、測定器のオシロスコープの動作がイマイチなのである。
やはり何年も使っていないと、アチコチの接触が悪化しているようで、時間軸のダイヤルを回すと想定した動きをしてくれずに訳の解らない動作をしたりする。
しばらくの間はおっかなびっくり使わないといけないようである。
まぁ、おそらくは、私の頭の中も負けず劣らずアチコチが錆びだらけのポンコツ状態になっていると思われるのであり、あらゆるものが、はたしてどのくらい動作可能なのかも心配なのである。
HOME