
最近做刷写上位机适配广成的USB CAN II的工作,出现了一个问题:
问题描述:连续发2次报文,间隔200ms,总线上实际报文间隔只有1.3ms

如图:10和22服务间隔时间太短,导致ECU不响应,从而导致刷写失败
检查代码没有发现问题,于是上USB分析仪看看

如图:2次报文的时间差超过200ms,说明上位机没有问题,DLL也没有问题
那么问题就是CAN盒导致的了。但是使用GCANTools发送报文,周期是正常的,因此只有一种可能:CAN初始化的问题。
根据实测得出结论:执行StartCAN之后,到执行Transmit中间最好间隔300ms,否则会导致Transmit的报文延迟发送
解决对策:


307

被折叠的 条评论
为什么被折叠?



