基于STM32F103的CAN总线进行热插拔,引起CAN无法正常工作

    技术2022-07-11  299

    问题:在进行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都会正常工作。

    Processed: 0.014, SQL: 9