hiro yamamoto works

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

Arduino UNO MINIMAでCAN通信(ESP32 TWAIreceive.ino受信時変更点)

2025-02-15 15:10:00 | CAN通信

以前の投稿で解決策を追記しましたが、わかりにくくなっていたので新たに投稿しておきます。
変更点書き忘れもありました。
笑って許してくれる方だけ見てくださいね・・・


送信 Arduino UNO R4 (CANWrite.ino)+CANトランシーバ:SN65HVD230
受信 ESP32-WROOM-32E(TWAIreceive.ino)+CANトランシーバ:SN65HVD230

発生する問題点
・MINIMA側(送信)シリアルモニタにエラー表示
CAN.write(...) failed with error code -60003
・ESP32側(受信)シリアルモニタに高速出力
・変化データを送信しても、受信(ESP32)データが更新されない。

ESP32 TWAIreceive.inoの変更するところ
 setup関数の中
"TWAI_MODE_LISTN_ONLY"を"TWAI_MODE_NORMAL"へ変更
TWAI_TIMING_CONFIG_500KBITS()をTWAI_TIMING_CONFIG_250KBITS()へ変更
//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_timing_config_t t_config = TWAI_TIMING_CONFIG_500KBITS();//変更前
twai_general_config_t g_config = TWAI_GENERAL_CONFIG_DEFAULT((gpio_num_t)TX_PIN, (gpio_num_t)RX_PIN, TWAI_MODE_NORMAL);//変更後
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_250KBITS();//変更後


以上