stm32 can错误中断不处理

项目场景:

xx

问题描述

设备上电后,第一次能进入can错误中断处理函数,之后就进不了了。


原因分析:

通过debug发现第二次的时候ERRI这个没有位没有被置1。

为什么没有被置1呢?

因为我的错误处理(先进入再退出初始化模式)这一操作不是在中断错误处理函数中操作的,是首先在中断错误处理函数中关闭can bus_off错误使能,然后在另一个定时器中断处理函数中操作的(can 快慢恢复的设计),问题就出在这里。在这个定时器中断处理函数中,我恢复完相应的can后,没有打开can bus_off错误使能,想着2s之后打开,但是由于2s内我发送了多包can数据,导致can TEC又到0xF8了。然后这个时候我打开can bus_off错误使能,硬件也不能置位ERRI了。如果TEC没有到0xF8之前给can bus_off错误使能打开,就可以了


解决方案:

总体的解决思路就是:在TEC没有到0xF8之前给can bus_off错误使能打开

相关推荐
沸速存储6 分钟前
CPU 和 GPU 核心差别在哪?为什么 AI 训练离不开 GPU
服务器·人工智能·科技·嵌入式硬件·电脑
我不会JAVA!1 小时前
【无标题】
嵌入式硬件·h.264
芯岭技术郦1 小时前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
Dr.kangder3 小时前
嵌入式面试总结(八)——大小端
嵌入式硬件·面试·职场和发展·架构·嵌入式
zlinear数据采集卡5 小时前
D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案
arm开发·嵌入式硬件·fpga开发·开源
zcmodeltech5 小时前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米5 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件
云泽8085 小时前
深入浅出 STM32(十一):从寄存器映射到 HAL 库位操作源码详解
stm32·单片机·嵌入式硬件
哥不想学算法5 小时前
STM32零基础教程(六):ADC、I2C、SPI与DMA
stm32·单片机·嵌入式硬件
szxinmai主板定制专家6 小时前
基于 RK3588 + Xilinx Kintex-7 FPGA 异构工业主控板设计方案
arm开发·人工智能·嵌入式硬件·fpga开发·zynq