如图
2019-09-26_183315.png (5.1 KB, 下载次数: 0)
下载附件
2019-9-26 18:34 上传
蓝 {MOD} 帧在前面已经发过了,结果又重新传了一次,DATA5是一个计数器,发一次加1
这样排除了软件中重新调用的可能;
===
发送方式用的是 自动重发
以下是发送函数
MailBox = CAN_Transmit(CANx, &CanToCanTxMsg[CanTxMsgOut].CanTransStruc);
if(MailBox==CAN_TxStatus_NoMailBox)
{
return;//break;
}
i = 0;
while((CAN_TransmitStatus(CANx, MailBox)==CAN_TxStatus_Failed)&&(i<0XFFF)) i++;
if(i >= 0XFFF)
{
return;
}
=====
想到一种可能性,不知道有多大
假设开始时在邮箱1中发送不成功,下次发送转到邮箱2中发送
过了一会儿 邮箱1又发送成功,这样2个邮箱都发送了才出现偶尔发送2次的情况
是另一端 的 CAN 出问题了,另一端 会记录ID,然后会把ID转出来....
=====
太坑人了,原来别人写的程序,害的自己搞了两天,结果查出来还不是自己问题....
====
感谢各位提供的帮助
一周热门 更多>