Can 总线如何检测BUS-OFF

当CAN控制器错误次数超过255次时,会进入BUS-OFF状态,表现为总线忙碌,数据无法收发。可通过检测framesend.can_id判断是否为BUS-OFF。错误发生后,推荐重启CAN接口,如can0。可参考开源代码中的can_get_state函数检测状态,并使用do_restart('can0')重启接口。
摘要由CSDN通过智能技术生成

1. 什么是BUS-OFF?

当CAN 控制器发生错误的次数超过255次,就会触发BUS-OFF错误。一般发生BUS-OFF的条件是CAN总线受周围环境干扰,导致CAN发送端发送到总线的数据被BUS总线判断为异常,但异常的次数超过255次,BUS总线自动设置为BUS-OFF状态,此时总线处于忙的状态,数据无法发送,也无法接收。

2. 如何检测BUS-OFF?

下面以CAN发送数据为例,介绍如何检测BUS-OFF错误状态。

struct can_fram
  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值