Arduino UNO MINIMAでCAN通信(MINIMA >> UNO R4 Wi-Fi 受信データを配列に入れる)
参考になる情報を見つけたので、備忘記録として投稿します。 情報公開してくださっている方に感謝します。 笑って許してくれる方だけ見てくださいね! 本来目的のESP32受信で問題点があり、原因切り分け調査のための、 UNO R4 WIFI受信調査となっています。 送信 Arduino UNO R4 MINIMA(CANWrite.ino)+CANトランシーバ:SN65HVD230 受信 Arduino UNO R4 WIFI(CANRead.ino)+CANトランシーバ:SN65HVD230 これでやっています。 サンプルスケッチ"CANRead.ino"は決められた書式でのシリアルモニタ表示はできますが、 if (CAN.available()) { CanMsg const msg = CAN.read(); Serial.println(msg); } データのみを使いたい時どうしたら良いか疑問が湧いて調べたら、次のようなコードをみつけました。 これで解決できます。 if (CAN.available()) { CanMsg const msg = CAN.read(); //sizeof(msg.data)は"msg.data"メモリサイズをバイト単位で返す uint8_t rx_data[20]; //メモリ領域msg.dataの先頭からmsg.dataのメモリサイズバイトをメモリ領域rx_dataにコピーする memcpy(rx_data, &msg.data, sizeof(msg.data)); // rx_data配列へコピー uint32_t rxId = msg.id; uint8_t rxLen = msg.data_length; Serial....