STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

一、问题描述

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

只要一打开UART4接受中断,串口就一直高速进入中断!!!!!无语

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

这是我的中断服务函数,USRAT3为调试串口,执行程序,可以看见串口助手显示如下图:

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

可以看到串口一直进入中断4,执行打印1,下放是1秒钟接收的数据量。。。。。。。呵呵呵呵呵呵呵

二、发现问题

通过查寻标志位,发现问题出现在中断溢出上,如下图:

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

可以看见串口助手上的打印显示如下:

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

终于发现问题所在了,就是溢出中断问题!!!!!!

三、解决问题

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

只需要在服务函数里清除标志位即可,问题解决!!!!!哈哈哈哈哈