TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS1224 Can通讯 修改Massagebox中的ID导致数据无法发送

massagebox 使用默认ID的时候,数据可以正常发送:

如果修改默认id的话数据就发送不出去:

 请问这里发送的Can message 的ID如何有效的修改

 我此时的主函数的初始化:

canInit();

canEnableloopback(canREG3,External_Lbk);

vimInit();
_enable_interrupt_();

初始化设置1-8号message box发送,33-40号message box接收(中断)。

zhitao wu:

问题找到了是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);

SZ1:

回复 zhitao wu:

Hi Zhitao,

谢谢分享,那就没问题了对吧,看你同时发了两个can的帖子,另外一个帖子还有问题么?谢谢!

zhitao wu:

回复 SZ1:

问题解决了,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS1224 Can通讯 修改Massagebox中的ID导致数据无法发送
分享到: 更多 (0)