hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

解決Arduino UNO MINIMAでCAN通信(MINIMA >> ESP32twaireceiveで受信できたが)

2025-01-19 21:16:47 | CAN通信

少し前に進みました?
笑って許してくれる方だけ見てくださいね!

送信 Arduino UNO R4 (CANWrite.ino)+CANトランシーバ:SN65HVD230
受信 ESP32-WROOM-32E(TWAIreceive.ino)+CANトランシーバ:SN65HVD230
これでやっています。
最終的に送信側をXIAO RA4M1にしたいと目論んでいます。
困りごと・・・☆解決☆(2025/02/03)
・1秒毎の送信なのに、受信側はシリアルモニタに高速出力?☆解決☆
・変化データ送信で、受信データが更新されない。☆解決☆

変更点
TWAIreceive.ino setup関数の中
"TWAI_MODE_LISTN_ONLY"を"TWAI_MODE_NORMAL"へ変更
  //TWAIreceive.ino //setup関数の中にある
  //Initialize configuration structures using macro initializers
//twai_general_config_t g_config = TWAI_GENERAL_CONFIG_DEFAULT((gpio_num_t)TX_PIN, (gpio_num_t)RX_PIN, TWAI_MODE_LISTEN_ONLY);//変更前
  twai_general_config_t g_config = TWAI_GENERAL_CONFIG_DEFAULT((gpio_num_t)TX_PIN, (gpio_num_t)RX_PIN, TWAI_MODE_NORMAL);//変更後


新たに確認できたこと(2025/01/21)
ESP32同士なら問題なさそう?な雰囲気、まだ変化データは未確認だった。
つまり"マイコンの組み合わせ"?
でもXIAO RA4M1を使いたいので、打開策調べます。

ESP32同士の受信シリアルモニタ表示 1sec毎表示されます。
(送信側をUNO R4からESP32に変えたということです。)
(TWAIreceive.ino-->TWAItransmit.ino)
なんで"Extended Format"になってるんだろう?


問題の状態シリアルモニタ表示(下)
・シリアルモニタに高速出力される。
・変化するデータを送信しているんですけどByte: 0 = 1f , 1 = a8 , 2 = 0c ・・・で変化せず。
高速表示のせいではなく、ずっと同じデータのままです。

解決のため、確認しなければならないですね。
・送信、受信どちらに原因があるのか?
・マイコンの組み合わせ?

送受どちらに起因するのか?
受信マイコン(コントローラを含む)変更
送信 Arduino UNO R4 (CANWrite.ino)+CANトランシーバ:SN65HVD230
受信 Arduino UNO R3(CAN_receive.ino)+CANコントローラ:MCP2515+CANトランシーバ:TJA1050
結果
1秒毎の送信に対して1秒毎の受信・・・OK
変化するデータの受信・・・OK
受信側に問題がありそう

Arduino UNO R3受信のシリアルモニタ表示・・・正常と思われる。

試しに同バスにESP32も接続して受信してみると

ESP32の受信シリアルモニタ表示・・・正常になった?

送信は変えず、受信をUNO R3とESP32の2つにした状態
送信 Arduino UNO R4 (CANWrite.ino)+CANトランシーバ:SN65HVD230
受信 ESP32-WROOM-32E(twaireceive.ino)+CANトランシーバ:SN65HVD230
受信 Arduino UNO R3(CAN_receive.ino)+CANコントローラ:MCP2515+CANトランシーバ:TJA1050

同バスに接続したUNO R3がどのような影響を与えるのか?



まだ進んでいません。