请问STM32L432 UART帧错误是什么?

2019-07-14 13:22发布

一个奇怪的问题,使用STM32L432的UART通信,如果使能了uart的错误中断,代码如下:/* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */        SET_BIT(UartHandle.Instance->CR3, USART_CR3_EIE);
则程序会一直在串口中断中出不来,程序就跑步起来了。
在中断中如果清除了帧错误(Frame error)中断标志位,则程序可正常运行了。
由此说明了,是帧错误导致的,
问题是,什么是帧错误,是软件错误还是硬件错误呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
hnui2002
1楼-- · 2019-07-16 07:10
我觉得是没清中断引起的,请看清楚UART的寄存器,打印出来看看把
www12212
2楼-- · 2019-07-16 09:31
hnui2002 发表于 2019-3-28 10:30
我觉得是没清中断引起的,请看清楚UART的寄存器,打印出来看看把

确实是没清中断引起的。程序刚开始被误操作打开了帧错误中断使能,后来没有清除,就报出帧错误了。
liujinyi016
3楼-- · 2019-07-16 10:42
中断的标志位是要在进了中断后进行清楚的
串口的缓存也是要足够 的

一周热门 更多>