×
单片机 > 单片机程序设计 > 详情

stm32 不断进入串口中断的bug解决方法

发布时间:2020-05-30 发布时间:
|

在使用stm32的时候,发现usart会莫名的卡在串口中断里,然而串口初始化只配置了RXNE中断,打断点发现不断进入中断却没不是RXNE中断引起的,经过查找资料发现是ORE的问题,2篇博文解决方案如下:


http://bbs.21ic.com/icview-160999-1-1.html


http://blog.csdn.net/origin333/article/details/49992383


大致原因为开启了RXNE中断之后 ORE也开启了,但是使用USART_GetITStatus却无法读取到ORE的标志位(未使能ERR时),这样也无法消除中断申请,自然一直进入串口中断,如果要消除ORE需要使用USART_GetFlagStatus(USART1, USART_FLAG_ORE) ;然后再读取DR:USART_ReceiveData(USART1);就可以消除该中断请求。


关键字:stm32  串口中断  bug 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会