1. 首页
  2. 数据库
  3. 其它
  4. STM32开发项目:处理串口溢出中断(ORE)

STM32开发项目:处理串口溢出中断(ORE)

上传者: 2021-01-17 01:40:26上传 PDF文件 59.04KB 热度 9次
问题表现 在MCU系统负载较重、串口收发数据频率很高、多个中断存在(如同时有定时器更新中断、外部中断、DMA中断、串口接收中断)的情况下,容易出现串口溢出错误(ORE)。该错误的主要显现形式是:程序莫名卡死在串口中断之中(单片机失去响应)。 解决方法 ORE标志位在USART_SR寄存器,当我们打开串口接收中断时,同时也就打开了ORE中断,串口的overload错误会导致程序反复进入串口中断服务程序。在中断服务程序中增加处理overload的处理,顺序执行对USART_SR和USART_DR寄存器的读操作可以复位ORE位,以防止程序反复进入串口中断服务程序。示例代码如下: 在STM32中断函数
下载地址
用户评论