JH7UBCブログ

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

PIC16F18326 MCC シリアル通信テスト

2024-01-18 17:07:47 | MPLAB X MCC
 PIC16F18326のシリアル通信のテストをします。
 環境は、MPLAB X(v6.15) XC8(v2.45) MCC(v5.3.7)です。

 テストする回路です。パソコンとの通信には、秋月電子のUSBシリアル変換モジュールFT-234を使います。電源もこのモジュールから供給します。


 MPLAB Xでprojectを作成し、MCCを立ち上げ、各種設定をします。

 まず、system moduleでクロックの設定をします。下のように設定し、クロック4MHzとしました。


 シリアル通信を行うために、EUSARTモジュールを導入します。
 設定は特に行わず、デフォルトのままです。通信速度は9600bpsです。


 pin moduleです。特に設定はしません。RC4がTXにRC5がRXピンになります。


 テストプログラムです。
---------------------------------------------------------------------
/*
 * PIC16F18326 MCC Serial com. test
 * 2024.01.18
 * JH7UBC Keiji Hata
*/

#include "mcc_generated_files/mcc.h"

//1文字送信
void putch(char ch)
{
     EUSART_Write(ch);
}

void main(void)
{
     // initialize the device
     SYSTEM_Initialize();

     uint8_t data;
     int i = 0;
     while (1)
    {
         data = EUSART_Read();
         printf("%3d ",i);
         EUSART_Write(data);
         printf("\r\n");
         i++;
    }
}
---------------------------------------------------------------------

 putch()関数を定義しましたので、printf()関数を使うことができます。
 今回、C standardがC99のままでもエラーは出ませんでした。

 ブレッドボードです。

 パソコンでTeraTermを立ち上げて、9600bpsで通信を行います。

 0からカウントアップされる数字が表示され、キーボードから入力された文字が表示されます。