| 
在线时间20 小时
UID197370
注册时间2019-9-21
NXP金币0 
 TA的每日心情|  | 开心 2021-5-17 17:00
 | 
|---|
 签到天数: 14 天 连续签到: 1 天 [LV.3]偶尔看看II 中级会员  
 
 
	积分277 
最后登录2022-1-4 | 
 
| 本帖最后由 小恩GG 于 2021-5-21 16:44 编辑 
 
 程序CAN通讯从驱动例程包,修改过来的,收发数据正常,没有问题,唯一的问题时,发送到总线上的时间存在差别。
 
 即 程序中每250ms发送一帧数据,通过 调用
 Status CAN_SendMsg (LPC_CAN_TypeDef *CANx, CAN_MSG_Type *CAN_Msg);
 完成发送,  并接收函数返回状态,返回成功时,打印计时变量,打印出的计时变量均为 250ms的倍数,
 说明是按 250ms执行了一次发送。但是用第三方工具(ZLG的CAN盒)获取CAN总线上的数据时,发现数据帧时间大多数时间是间隔250ms,
 有时是 上一次为260ms~265ms,那一下就是 235ms~240ms。想问一下这是为什么?  为什么从CAN_SendMsg函数到 物理总线上存在10ms的差别?
 
 CAN总线就挂一个设备或多个设备(甚至不挂设备)时都存在这种现象。有没有遇到同类现象的?  有什么好的解决方法?
 
 
 | 
 |