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错误使能打开

相关推荐
Jaixln_HRF2 小时前
率能SS6548D 单通道16A/40V大电流H桥驱动芯片,45mΩ超低导通电阻,用于打印机/扫地机/工业设备
驱动开发·嵌入式硬件·硬件工程
Jason_zhao_MR3 小时前
电能质量监测为什么需要PTP精确时钟同步
linux·单片机·嵌入式硬件·嵌入式
happygrilclh3 小时前
嵌入式 GUI 框架大概说明
stm32
Freak嵌入式3 小时前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析
java·大数据·开发语言·单片机·嵌入式硬件·硬件架构
Messy create3 小时前
【BMS-AFE-断路检测】
单片机·嵌入式硬件·能源
恶魔泡泡糖4 小时前
stm32F103C8T6标准库DWT基础应用1
stm32·单片机·嵌入式硬件
LCG元4 小时前
STM32L4 LPUART 实战:Stop2 模式下低功耗串口唤醒与不定长接收
stm32·单片机·嵌入式硬件
水果里面有苹果4 小时前
41-BMP280 气压传感器
嵌入式硬件
星河单片机4 小时前
STM32+VK2828U7G5模块GPS定位+NMEA解析
stm32·单片机·嵌入式硬件
白搞电子4 小时前
ESP-Mosaico 掌上游戏开发:LVGL 抛硬币动画、音频混音与 BMI270 摇晃触发
单片机·嵌入式硬件·物联网·游戏·音视频