在线时间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总线就挂一个设备或多个设备(甚至不挂设备)时都存在这种现象。有没有遇到同类现象的? 有什么好的解决方法?
|
|