各位朋友,CAN通信中,怎样确保对方已经收到数据包了?

2019-12-21 12:10发布

各位朋友,CAN通信中,怎样确保对方已经收到数据包了?

要用,一发,一回应的方式么?,,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zzipeng
1楼-- · 2019-12-22 08:31
cpholr1 发表于 2018-3-3 12:16
比如用TJA1050对SN65HVD230,这个判断就没用。

直接卡死。

电平不兼容吗~
modbus
2楼-- · 2019-12-22 11:20
只能靠应答了
shiva_shiva
3楼-- · 2019-12-22 14:56
CAN数据帧有一个bit的应答位,当接收端正常收到数据会给出应答,否则是无应答状态。发送端收到应答标志后就认为当前数据正常发送出去了。否则,会不断重发。

但是,发送端正常发送出去了,不代表你的接收不出错,因为这只是can控制器收到了,到CPU中还有几个环节。

要保证接收端cpu完全收到,就要自己在应用层自己再定协议了。

比较较典型的,简单的就是“步锁”。
lixin91985
4楼-- · 2019-12-22 17:09
can的接受对象不只一个,can是基于时间驱动的。把事件在总线上发送出去。让需要的人接收。
ericdai
5楼-- · 2019-12-22 17:15
 精彩回答 2  元偷偷看……

一周热门 更多>