请问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条回答
formlikon
1楼-- · 2019-07-14 23:51
发错分类了,楼主下次麻烦按【求助】发
yahanq
2楼-- · 2019-07-15 00:30
 精彩回答 2  元偷偷看……
zhi168
3楼-- · 2019-07-15 04:42
可以调试查看寄存器值确定一下到底什么问题啊
jr3367
4楼-- · 2019-07-15 09:23
帧错误是串行帧位序列不符合接收设置要求,比如9600,8,n,1,接收到确是9600,8,e,1,多了一位偶校验位就会造成接收端帧错误。原因可能是收发端帧格式设置不一致,或者波特率不一致,强干扰也可能造成这种这种情况。
twerfwerw
5楼-- · 2019-07-15 15:17
也就来看看
nyuwerw
6楼-- · 2019-07-15 17:06
应该检查一下设置,两端设置是否一致

一周热门 更多>