RP2040マイコンを使ってCANバスでデータの送受信テストをしてきましたが、
不可解な現象に悩まされていました。残念ながら私のスキルでは解決できず、
XIAO SAMDへ変更することにしました。
こんなことが起こります。
ID毎に1つのデータを割り当てて、6個のデータ(6個のID)を送った時、
特定の1個のIDが消失してしまう。
うまくいかなかったやつの 構成・仕様(参考)
SPI接続CANバスモジュール(送信、受信各1個)
(コントローラ:MCP2515、トランシーバ:TJA1050)
マイクロコントローラ:AE-RP2040(送信、受信各1個)
送受信データ:6個(データ毎に1つづつIDを割り当て)
データログ&HTTPサーバ:ESP32
動作概要
複数のデータそれぞれにID番号を割り当てて
送信側:数値をばらしてバイト配列に入れて送る。
受信側:バイト配列を組み立ててもとの数値へ戻す。
難点(RP2040が悪いわけではありません!)
・ArduinoUNO、ESP32で動いていたライブラリがRP2040で動かない。
・RP2040マイコンに完全対応したCANコントローラのライブラリが見つからなかった。
(2023年9月時点)
・Adafruitの MCP2515ライブラリで制約があるが動く( RP2040非対応を自己責任で使う)
制約について
送信データの1バイトに入る数値
0x00〜0xFF(B11111111)のはずが、最上位bitが使えず0x00〜0x7F(B1111111)
送信8バイトをフルに使うことはないので使えると判断した。
ところがさらに進めていくと、不可解現象”特定IDの消失”で悩まされる。
作業が進んだら投稿します。
最新の画像[もっと見る]
- 年末はなにかとやること多い(景色に癒やされる) 3日前
- 年末はなにかとやること多い(もちつきは機械任せ…ありがたや) 3日前
- Arduino UNO MINIMAでCAN通信(ESP32 > twaireceive.inoで受信できたが) 2ヶ月前
- Arduino UNO MINIMAでCAN通信(ESP32 > twaireceive.inoで受信できたが) 2ヶ月前
- クロスオーバーネットワークXEC−700(SONY) 3ヶ月前
- 夕景 3ヶ月前
- 夕景 3ヶ月前
- Arduino UNO MINIMAでCAN通信(写真と・・・) 3ヶ月前
- Arduino UNO MINIMAでCAN通信(写真と・・・) 3ヶ月前
- Arduino UNO R4 MINIMAを使ってみる(bookworm RasPiOSで書き込みできない) 3ヶ月前
※コメント投稿者のブログIDはブログ作成者のみに通知されます