如图
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次的情况
正常的情况下我这里是100ms一包
40--00 00--40 这样子呢,是立即就发的
如果有CAN分析仪,可以用最大压力测试,如果是自己的设备,可能就会丢包
2019-09-26_185700.png (27.35 KB, 下载次数: 0)
下载附件
2019-9-26 18:57 上传
出错误 带时间 的 监测数据
自己做的板子,如果接收邮箱满了,你是怎么处理的?
还有很重要的一个问题,你用的是什么样的线?太细的线很影响通讯的
一周热门 更多>