大家好,请问:
canopen主站中,发送邮箱的标识ID会根据从站的NODEID不同而改变:
……
ECanbRegs.CANME.bit.ME3 = 0; // Required before writing the MSGID
ECanbMboxes.MBOX3.MSGID.bit.STDMSGID = uuuuuuu; //标准帧,修改标识ID (1)
ECanbMboxes.MBOX3.MDL.word.LOW_WORD = xxxx;
ECanbMboxes.MBOX3.MDL.word.HI_WORD = xxxx;
ECanbMboxes.MBOX3.MDH.word.LOW_WORD = xxxx;
ECanbMboxes.MBOX3.MDH.word.HI_WORD = xxxx;
ECanbRegs.CANME.bit.ME3 = 1; // Required before writing the MSGID
ECanbRegs.CANTRS.all |= 0x08; //开始发送数据 (2)
……
当(2)执行时,用CAN抓包工具看出,CAN接口首先发送了2帧莫名其妙的can帧,第3个才是正确想要发送的can帧,如果(1)这句注释掉(也就是不修改标识ID),CAN邮箱发送是正常的。
不知这是什么问题?
谢谢!
Gong Huang:
有没有人遇到过类似的问题,或者能帮忙分析一下?
谢谢!