masayasan が 2022年12月08日20時23分08秒 に編集
初版
タイトルの変更
PIC同士でシリアル通信
タグの変更
PIC
シリアル通信
記事種類の変更
セットアップや使用方法
Lチカの変更
本文の変更
1. 概要 PICマイコンPIC16F18326を送信側と受信側にそれぞれ用意し、送信側で入力されたピンに合わせて受信側LEDの点灯を制御しました。 1. 送信側マイコン MCC設定  ```arduino:送信側コード #include "mcc_generated_files/mcc.h" void main(void) { SYSTEM_Initialize(); EUSART_Initialize(); while (1) { if (RA5 == 0) { EUSART_Write(125); __delay_ms(10); } else if (RA4 == 0) { EUSART_Write(124); __delay_ms(10); } else{ EUSART_Write(0); __delay_ms(10); } } } ``` RA5,RA4を入力ピン(プルアップ)に設定し、各ピンがマイナスに接続されるとシリアル通信でTXピンから1バイトデータが送信されます。 3. 受信側マイコン MCC設定  ```arduino:受信側マイコン #include "mcc_generated_files/mcc.h" void main(void) { SYSTEM_Initialize(); while (1) { if (EUSART_Read() == 125) { LED_SetHigh(); __delay_ms(100); LED_SetLow(); __delay_ms(100); } else if (EUSART_Read() == 124) { LED_SetHigh(); __delay_ms(500); LED_SetLow(); __delay_ms(500); } else if (EUSART_Read() == 0) { LED_SetHigh(); __delay_ms(1000); LED_SetLow(); __delay_ms(1000); } } } ``` シリアル通信で受信するデータから、LEDが3パターンの点灯します。 4. 動画 @[youtube](https://youtube.com/shorts/GZcw5p1zkGw?feature=share) 1. まとめ 簡単なプログラムでシリアル通信することが出来ました。