JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

PIC12F1822 MCC シリアル通信テスト

2021-05-10 10:29:46 | MPLAB X MCC
 MPLAB MCCを使ったシリアル通信のテストをします。

 使うPICは、前回と同じPIC12F1822です。

 以前に行ったPIC12F1822のシリアル通信テストは、ここに掲載しています。
 USBシリアル変換は、FT234Xを使います。回路図です。


 この時の、通信設定は、次のとおりです。
------------------------------------------------------------------
void serial_init(unsigned long BR){
TXSTA = 0x24; //SYNC=0 TXEN = 1 BRGH = 1
BRG16 = 1; //BRG 16bit mode
RCSTA = 0x90; //非同期、継続受信可
unsigned int X= _XTAL_FREQ/BR/4 - 1;
SPBRGH = X / 256;
SPBRGL = X % 256;
------------------------------------------------------------------
 けっこう複雑ですね。では、MCCで設定してみます。

 projectを作成し、MCCを開きます。
 まず、System_moduleを設定します。

 今回は、クロックを8MHzとして、PLLを使い×4=32MHz動作としました。
 Low voltage Programmingをはずし、設定は、これだけにしました。

 シリアル通信のための設定をします。Divice Resourceまたは、Avilable ResourceからEUSARTを選ぶと、Project ResourceにEUSARTが登録され、Pin managerにEUSARTが表示され、RA0にTXが、RA1にRXが自動的にセットされます。

 EUSARTの設定をします。Project ResourceのEUSARTをクリックすると設定画面が開きます。

通信速度(Baud Rate)はデフォルトで9600bpsです。他の設定もデフォルトのままにしました。



Generateして、main.cに簡単なプログラムを書きました。
キーボードから入力された文字をそのまま送り返す、いわゆるエコーバックのプログラムです。

 USARTなどの設定が見えないだけに、すごく簡単です。

 build 書き込みを行いPICとFT234Xをブレッドボード上に配線します。

 Tera Termを立ち上げて、通信テストを行います。キーボードから送った文字がそのままTera Termに表示されました。


 通信テストOKです。
 複雑な計算を行わないでもシリアル通信の設定ができました。
 確かにブラックボックスですが、使いやすくなりましたね。