初めまして、NNNです。初投稿で至らぬ点等あるかと存じますが、ご容赦ください。初歩的な内容で大変恐縮ですが、CAN通信の試験をしていて、うまくいかない原因を探っています。私としてはACKエラーが出ていると考えていますが、その原因と解決策についてご教授いただけませんか。使用基板:Renesas SynergyのスターターキットSK-S7G2参考にしているサンプル ① CAN_HAL_MG_AP.zip r11an0065eu0101-synergy-can-hal-mod-guide.pdf ② GUIX_Basic_SK_S7G2.zip ※GUIXも使用したいため、①のコードを②へ移し使用しています。【現状】①SK-S7G2へ同じプログラムを書き込み通信試験を行いました。 →オシロスコープにて3つのID全て波形が出ることと、 受信側基板のLEDが光ることを確認しました。②SK-S7G2とリチウムバッテリーとの通信試験を行いました。 →IDが1で、ACKスロットがリセッシブになっている波形が、再送され続けております。【バッテリーのプロトコル】・CAN2.0インタフェース・11bitアドレス・ボーレート:250kbps・3つのCANIDを送信することが必要 ① CANID 0x0001 Data 0~8byte (無視される) ② CANID 0x0002 Data 最大256byte ※今回送りたいデータは8byte ③ CANID 0x0003 Data 0~8byte (無視される)【SynergyConfigurationの設定】 BRP:14 TS1:10 Time Quanta TS2:5 Time Quanta SJW:4 Time Quanta Clock Source:PCLKB (Clocksタブにて、PCLKB Div/4 → PCLKB 60MHz) Standard or Ectended ID Mode:Standard ID Mode Mailbox 0 Tyoe:Transmit Mailbox Mailbox 1 Tyoe:Transmit Mailbox Mailbox 2 Tyoe:Transmit Mailbox Mailbox Frame Type: (全て)Data Mailbox Mailbox 0-3 Group Mask: 0x1FFFFFFF Priority 4【ソースの主な変更点】can_tx_rx.cif (sw4pin == IOPORT_LEVEL_LOW) //If switch S4 is pressed the execute transmission { can_liBattery_start(); //Call to CAN transmit function tx_thread_sleep(10); can_liBattery_data(); tx_thread_sleep(10); can_liBattery_end(); tx_thread_sleep(10); }void can_liBattery_start(){ tx_data[0]= 0x00; tx_data[1]= 0x00; ・・・ tx_data[7]= 0x00; tx_id = 0x0001; can_tx(tx_id, tx_data,1);}void can_liBattery_data(){ tx_data[0]= 0xEA; ・・・ tx_data[7]= 0xF5; tx_id = 0x0002; can_tx(tx_id, tx_data,8);}void can_liBattery_end(){ tx_data[0]= 0x00; ・・・ tx_data[7]= 0x00; tx_id = 0x0003; can_tx(tx_id, tx_data,1);}長文になりましたが、何卒お力をお貸しいただけますよう、よろしくお願いいたします。