你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm8s CAN进入BUS OFF状态后恢复的问题

[复制链接]
风里高 提问时间:2023-4-10 11:22 / 未解决

Can_h对地短路,BOF标志位置1,恢复线路原状后,没有打开自动恢复功能,但是BOF位自动清零,数据重新发送,这是为什么?

收藏 评论2 发布时间:2023-4-10 11:22

举报

2个回答
xmshao 回答时间:2023-4-10 11:38:06
你没有打开硬件自动恢复,软件可以做恢复的。BOFF是个只读标志位,它是CAN状态的体现,是1是0硬件控制的。


你可以进一步查看下代码,看看发生BUS OFF事件后怎么处理的,是否软件上做了恢复操作 还是硬件有做自动恢复。


你再确认下。
风里高 回答时间:2023-4-10 11:58:07

xmshao 发表于 2023-4-10 11:38
你没有打开硬件自动恢复,软件可以做恢复的。BOFF是个只读标志位,它是CAN状态的体现,是1是0硬件控制的。
...

下面是手册的描述。这个自动恢复是自动重新初始化CAN模块的意思吗?我原本认为BOF后是处在CAN停止的状态,要硬件或者软件重新初始化。目前我的程序没有做重新初始化的处理,只是会定时发送数据,如果这个CAN本身只是状态上的停止,那硬件将BOF清0后还是会继续发送。

离线恢复 当TEC的值大于255时,beCAN就进入离线状态,CAN_ESR寄存器的BOFF位被置’1’。在离线 状态下,beCAN不再接收和发送报文。 根据CAN_MCR寄存器的ABOM位的设置,beCAN可以自动或在软件的请求下,从离线状态恢 复(变为错误主动状态)。在这两种情况下,beCAN都必须等待一个CAN标准所描述的恢复过程 (CAN RX引脚上检测到128次11个连续的隐性位)。 如果ABOM位为’1’,beCAN进入离线状态后,就自动开启恢复过程。

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版