共有302人关注过本帖树形打印复制链接

主题:[求助]Socket can可以配置自动重发么

帅哥哟,离线,有人找我吗?
刘豪豪
  1楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信
等级:新手上路
[求助]Socket can可以配置自动重发么  发帖心情 Post By:2020-11-17 15:04:00 [只看该作者]

Socket can可以配置自动重发么,报文发送失败后可以自动重发


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hzc
  2楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信 员工
等级:侠之大者
  发帖心情 Post By:2020-11-18 9:44:00 [只看该作者]

你好,can总线是有ACK信号相应的,所以can总线协议本身就有自动重发的功能,不需要单独配置。

[此贴子已经被作者于2020-11-18 9:44:47编辑过]

  单帖管理 | 引用 | 回复 回到顶部
客人
  3楼


  发帖心情 Post By:2020-11-19 10:13:00 [只看该作者]

但是发送失败不会自动重发,硬件有自动重发的设置么


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hzc
  4楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信 员工
等级:侠之大者
  发帖心情 Post By:2020-11-19 13:49:00 [只看该作者]

你好,can的控制器本身就会重发,不需要设置。

如果是软件上调用发送提示失败,可能是因为程序中没有判断调用发送的返回值,然后一直在填入数据。

硬件在发送失败后,会一直反复重发,在数据发送成功之前会一直占用缓存,如果这时软件一直填入数据,就会占用更多的缓存,当缓存占满之后,软件中再次调用发送就会报错。

[此贴子已经被作者于2020-11-19 13:54:24编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
刘豪豪
  5楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信
等级:新手上路
  发帖心情 Post By:2020-11-19 16:22:00 [只看该作者]

好的,了解,判断write的返回值可以判断发送失败,就不能write直到等到硬件重发成功了么?硬件重发成功是怎么判断的呢


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hzc
  6楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信 员工
等级:侠之大者
  发帖心情 Post By:2020-11-20 10:09:00 [只看该作者]

你好,write返回值只要没有出错,就说明数据已经填写到硬件中了,硬件会自动进行发送,直到发送成功,成功的标志是收到对应设备回发的ACK信号,具体的说明可以在网上查询一下CAN总线的协议说明。wirtei返回值出错就和上一条帖子说的一样,是因为在数据没有发送成功的时候,程序还在一直填写数据,导致硬件缓存数据溢出。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
刘豪豪
  7楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信
等级:新手上路
  发帖心情 Post By:2020-11-20 10:24:00 [只看该作者]

好的,谢谢


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hzc
  8楼 | 信息 | 搜索 | 邮箱 | 主页


加好友 发短信 员工
等级:侠之大者
  发帖心情 Post By:2020-11-20 12:13:00 [只看该作者]

不客气图片点击可在新窗口打开查看


  单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

[求助]Socket can可以配置自动重发么

用户名:          
内容:
               签名