STM32——串口溢出ORE的前世今生

当数据接收区或者FIFO区有数据或者满时,又有新数据进来,会导致发生溢出错误,一旦发生溢出错误,RX 移位寄存区虽然能有新数据不断的覆盖,但是数据不会到达RXR或FIFO(现象是:RXNE在ORE置位时不会被置位),导致程序中不能读到新的数据。只有通过ICR清除ORE才能使得RXNE在接收到新数据时置位。

串口框图

在这里插入图片描述

溢出错误属于串口接收

USART receiver

溢出错误发生的原因

  1. FIFO mode disabled
    An overrun error occurs if a character is received and RXNE has not been reset.
    Data can not be transferred from the shift register to the RDR register until the RXNE
    bit is cleared
    . The RXNE flag is set after every byte reception.
    An overrun error occurs if RXNE flag is set when the next data is received or the previous DMA request has not been serviced.
  2. FIFO mode enabled
    An overrun error occurs when the shift register
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值