投稿

ラベル(Arduino UNO R4 WiFi)が付いた投稿を表示しています

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....