massagebox 使用默认ID的时候,数据可以正常发送:
如果修改默认id的话数据就发送不出去:
请问这里发送的Can message 的ID如何有效的修改
我此时的主函数的初始化:
canInit();
canEnableloopback(canREG3,External_Lbk);
vimInit();
_enable_interrupt_();
初始化设置1-8号message box发送,33-40号message box接收(中断)。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
massagebox 使用默认ID的时候,数据可以正常发送:
如果修改默认id的话数据就发送不出去:
请问这里发送的Can message 的ID如何有效的修改
我此时的主函数的初始化:
canInit();
canEnableloopback(canREG3,External_Lbk);
vimInit();
_enable_interrupt_();
初始化设置1-8号message box发送,33-40号message box接收(中断)。
问题找到了是canUpdateID函数有BUG,修改一下就好了:
/* Copy passed value into the arbitration register. */
修改前
node->IF2ARB &= 0x80000000U;
node->IF2ARB |= (msgBoxArbitVal & 0x7FFFFFFFU);
修改之后
node->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)msgBoxArbitVal & (uint32)0x1FFFFFFFU) << (uint32)0U);