8.2.3 数据接收器

更新于 2026年10月10日 版权声明
8.2.3 数据接收器

(1)数据位。

USART可以根据控制寄存器CR1的M位设置接收的数据位是8位或9位。在USART接收期间,数据的最低有效位首先从RX脚移进。将接收到的数据存放在接收数据寄存器RDR中。

(2)超始位侦测。

在USART中,如果辨认出一个特殊的采样序列,那么就认为侦测到一个起始位。该序列为1 1 1 0 X 0 X 0 X 0 0 0 0。

(3)接收断开帧、空闲帧。

当接收到一个断开帧时,USART像处理帧错误一样处理它。当一个空闲帧被检测到时,其处理步骤和接收到普通数据帧一样。但如果IDLEIE位被设置,将产生一个中断。(https://www.daowen.com)

(4)溢出错误、噪声错误、帧错误。

如果接收缓冲器非空(RXNE位还没有被复位),又接收到一个字符,则发生溢出错误。

为了区分有效的输入数据和噪声,异步接收器中采用了过采样技术。RX线上的输入电平会被以波特率的16倍进行采样。这样1个数据位中会有16个采样点。USART会用每个位中间的3次(第8、9、10次)采样值确定数据位的电平,并判断数据是否有效。

由于没有同步上或存在大量噪声,停止位没有在预期的时间上被接收识别出来,这种情况被称为帧错误。

(5)停止位。

被接收的停止位的个数可以通过控制寄存器CR2的控制位来配置。在正常模式下,可以是1个或2个;在智能卡模式下,可能是0.5个或1.5个。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)