调用HAL_FLASH_OB_Unlock()直接进入 HardFaultHandler
STM32 增加 WiFi + 以太网的低成本方案
NUCLEO G474RE无法运行程序
STM32F407VGT6 开发板Beak at address "0x0" with no debug information our outside
BootLoader 与 DFU 模式的区别
调度器原子变量相关问题
运行到 WRITE_REG (FLASH->OPTKEYR, FLASH_OPTKEY1)跳转 HardFaultHandler
STM32F417IG 单端外部时钟旁路HSE Bypass问题
STM32L4A6 SDMMC 无法使用 1.8V IO 驱动 microSD 卡
STM32L4P5xx 系统内 Bootloader:RAM3 能否用作栈指针内存?
微信公众号
手机版
你可以进一步查看下代码,看看发生BUS OFF事件后怎么处理的,是否软件上做了恢复操作 还是硬件有做自动恢复。
你再确认下。
下面是手册的描述。这个自动恢复是自动重新初始化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进入离线状态后,就自动开启恢复过程。