Zachary_yo 发表于 2021-11-24 14:38:05

FreeRTOS 串口通信FIFO程序跑着进NMI_Handler了

本帖最后由 Zachary_yo 于 2021-11-24 14:42 编辑

单片机:STM32F207ZGT6
库:HAL库
开发环境:Keil V5操作系统:FreeRTOS 10.3.0
使用串口1234进行通信,目前只使用串口1,但是都配置了,使用的是硬汉哥的FIFO串口程序改的。
上位机不断发送读数据指令,从机响应;但是仿真运行一会儿(可能几秒钟,可能几分钟),程序就进入NMI_Handler()了,该函数如下:
void NMI_Handler( void )
{
    HAL_RCC_NMI_IRQHandler(); /* 该函数是空的 */
}

进入该函数后,继续运行程序,系统时钟不正常了,查了手册说是HSE时钟出现了故障。
但是,屏蔽这句HAL_RCC_NMI_IRQHandler() 程序就运行正常。
查了好久都没结果,有人说是NMI不可屏蔽中断没有禁用。
想弄明白这个中断函数的作用是什么?或者在这个中断函数中做什么?这个中断是不是一定要禁用?如果硬汉哥懂得话,希望能解答一下。


eric2013 发表于 2021-11-24 15:05:31

帮顶,没遇到过,搞开发10几年了,还没进过NMI中断,看看坛友有了解的不。

Zachary_yo 发表于 2021-11-24 15:26:23

这个时钟安全系统(CSS),一般需不需要开启。

Zachary_yo 发表于 2021-11-24 15:27:40

时钟安全系统 (CSS),一般需要开启吗?

eric2013 发表于 2021-11-24 15:31:04

没用过。
页: [1]
查看完整版本: FreeRTOS 串口通信FIFO程序跑着进NMI_Handler了