问题:在进行CAN测试时,不停的对CAN总线进行断开和连接,最终导致CAN无法正常工作。
环境:STM32f103RCT6,CAN1。
处理办法可以参考这篇文章:STM32 CAN模块问题:1、CAN收发器断电后重新上电,CAN模块死机(离线)现象;2、过滤器配置完之后没有过滤效果
下面写一下我参考上面的博客对代码的修改过程
这个是STM32中文参考手册上面的。 出现问题的原因分析: 修改代码过程: 第一步:
改成 ENABLE
CAN_InitStructure
.CAN_ABOM
= ENABLE
;
第二步: 添加一句:
CAN_ITConfig(CAN1
,CAN_IT_ERR
,DISABLE
);
结果: 不管断开和连接多少次CAN总线,CAN都会正常工作。