CAN通信にて同じIDで複数フレームに分けてデータが送られてくる場合の扱いを教えてください

毎度失礼しております、NNNです。
またも初歩的な内容で申し訳ありません。


Renesas synergyのSK-S7G2基板で、
アプリケーションノートのCANサンプルを利用しています。

CAN通信にて同IDで複数のフレームが順に送られてくる場合、
データは何処に格納されていくのでしょうか。


メールボックスでは全てのIDを受け取るようにしていますが、

 メールボックス1:ID1のデータ
 メールボックス2:ID2のデータ1
          ID2のデータ2で上書き
 メールボックス3:ID3のデータ

 のようになりますか?


それとも、rx_frame.data[]の中身を次のフレーム(データ2)がくるまでに別バッファへ読み出す必要がありますか?

 

よろしくお願いいたします。

Parents
  • NAKAといいます。
    ”SK-S7G2基板”も”アプリケーションノートのCANサンプル”も見たことがないので無責任な一般論ですが、メッセージを受信毎にバッファに貯める仕組みにしておいて、MAINルーチンの空いたリソースで受信する全ての各IDデータを処理すれば良いのではないですか?全てのIDが必要なければマスクすれば良いですし......。RH850なんかはメッセジバッファとしてかなりのRAMを割り付けられます。
  • NAKA様
    ご返信いただきありがとうございます。
    現状受信ごとに貯めておけていないので、
    そのあたりを中心にみていこうとおもいます。
    ありがとうございます。
Reply
  • NAKA様
    ご返信いただきありがとうございます。
    現状受信ごとに貯めておけていないので、
    そのあたりを中心にみていこうとおもいます。
    ありがとうございます。
Children
No Data