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.

dspF2806,can两个邮箱同时发送时是否会出现数据发送错误

我用的是dsp2806,使用can通信时,同时配置了两邮箱4和5,5号邮箱定时500毫秒发送数据,4号邮箱也发送数据,现在发现一个问题,当两个邮箱同时发送数据时,5号邮箱发送的messageid正常,但是4号邮箱的messageid 中的源地址会出现错误,如图

邮箱5的messageID配置为0x0707f80b,

邮箱4的messageID配置为0x1b20a001,0x1b21a001,0x1b22a001,0x1b41a001,

20,21,22,41标识信息类型,01表示源地址

当邮箱4和邮箱5同时发送一条信息时,邮箱4中的源地址就变成了09

求有知道的解释一下,谢谢

  • 在TRM内有相关描述 http://www.ti.com/lit/ug/spruh18g/spruh18g.pdf  的 16.3 

    当一个消息被发送时,消息控制器传送消息到CPK的发送缓冲器。

    在下一总线空闲状态时,开始消息的发送。

    当多条消息需要被发送时,在准备发送的消息中,具有最高优先级的消息将首先由消息控制器转移到CPK。

    如果两个邮箱具有相同的优先级,那么具有更高序号的邮箱首先被发送。

  • 问题解决了的,不过应该不是这个解释,邮箱5在发送过程中,发送还未完成,此时将邮箱4的发送位置1,可能会使数据发送错误,现在将发送方式更改了下,在检测到五号邮箱在发送完成后,才会再次将四号邮箱发送位置1,这样就没有问题,感觉上面tI的资料的跟实际使用时有差别,有知道的帮忙解释下,谢谢