編集履歴一覧に戻る
masayasanのアイコン画像

masayasan が 2022年12月08日20時23分08秒 に編集

初版

タイトルの変更

+

PIC同士でシリアル通信

タグの変更

+

PIC

+

シリアル通信

記事種類の変更

+

セットアップや使用方法

Lチカの変更

Lチカが設定されました

本文の変更

+

1. 概要 PICマイコンPIC16F18326を送信側と受信側にそれぞれ用意し、送信側で入力されたピンに合わせて受信側LEDの点灯を制御しました。 1. 送信側マイコン MCC設定 ![キャプションを入力できます](https://camo.elchika.com/e7be0c00867b3700f33d5ba4ece11d5827d1b636/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32366436383234302d653537302d346437632d393665332d3033656337373035313139352f35643739386630332d336531632d343366632d623565322d383362333463653061333034/) ```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設定 ![キャプションを入力できます](https://camo.elchika.com/bde8d27e1b072ce8473a63412d6ef2a0a04c8184/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32366436383234302d653537302d346437632d393665332d3033656337373035313139352f36616339383639352d393138342d343262302d613234312d386433633563303030383261/) ```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. まとめ 簡単なプログラムでシリアル通信することが出来ました。