求助群老大,CAN发送丢桢问题

2019-08-08 13:49发布

本帖最后由 hzf924999023 于 2017-10-10 09:19 编辑

CAN总线,我每发送50多次,有1次没有返回数据,经过测试是没发送出去的问题,我在后面加了一个延时就可以了,群里讨论一下。上面的whlie没起作用的原因是什么
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
哆啦A萌
2019-08-08 21:37
本帖最后由 哆啦A萌 于 2017-10-10 08:36 编辑

原因:出现丢帧的问题是因为大量发送时,总线被占等原因造成有几帧数据没有被发送而是挂起到邮箱中等待发送,那么此时再发送时则会造成申请邮箱失败,如果你去判断mbox肯定会出现mbox==CAN_TxStatus_NoMailBox                                                                                                                                                           解决方法:先把delay_ms(5);去掉,然后把“CAN_TransmitStatus(CANx, mbox)!=CAN_TxStatus_Failed”改为“CAN_TransmitStatus(CANx, mbox)!=CAN_TxStatus_Ok”即可

一周热门 更多>