ATMEGA8串口寄存器介绍

详细介绍了USART串口寄存器各位的功能。

ATMEGA8串口寄存器介绍

——摘自《Atmega8原理与应用》

ATMEGA8串口寄存器介绍

(读) (写) USART发送数据缓冲器和接收缓冲器共用一个逻辑地址,但物理地址独立。将数据写入UDR实际操作的是发送数据缓冲器,读UDR时实际操作的是接收数据缓冲器。

ATMEGA8串口寄存器介绍

USART增加了一个接收缓冲器,两个接收缓冲器如同一个循环的FIFO缓冲器一样工作。因此对于每一个接收的数据只能读一次UDR寄存器。更重要的是,错误标志位(FET和DOR)以及第9位数据RXB8也保留在接收缓冲器中。因此必须先读取这些标志位,然后再读取UDR寄存器,否则错误标志位会随着缓冲区的读取而丢失。

同时,USART还有一个接收移位寄存器,其可看作第三个接收缓冲器。如果接收缓冲寄存器已满,新接收的数据可以先保存在串行移位寄存器中,一直到下一个新闻开始被检测到。这样可以更好地防止接收数据溢出。

当收到的数据从移位寄存器传到UDR中且未被读取时,该位被设置。 不论是否探测到接收错误,该位都被设置。当设置禁止接收时,UCR中的数据就会刷新,同时清零RXC标志。RXC置位产生中断请求。RXC在读UDR时被自动清零。

TXC:USART接收完成标志

当发送移位寄存器的全部数据被移出后,且在数据发送寄存器UDR中没有待发送的数据时该位置位。TXC的置位后产生发送完成中断请求。在转入执行发送完成中断时,TXC由硬件自动清零。TXC可以通过对该位写入‘1’进行清零。

UDRE:USART数据寄存器空标志

当写入到UDR中的数据被发送到移位寄存器中时该被置1。该标志设置表示RDR中可以写入新的数据。UDRE置位时会产生发送数据寄存器空的中断请求。系统复位时UDRE被设置为‘1’,表示数据发送已准备好。

FE:接收帧出错标志

如果在接收缓冲器中刚收到的数据被检测到帧出错时,该位被置位(例如:收到数据的停止位为0时)。FE在收到的数据停止位为‘1’时被清零,读取UDR的操作也会将FE清零。此外重写UCSRA的操作总是设置FE标志位为‘0’。

DOR:接收错误溢出错误标志

如果接收数据溢出被检测到,该位被置‘1’。当接收缓冲器满(即有两个接收到的字符,前一个字符在UDR中,移位寄存器中还有一个新接收到的符在等待),同时接收器又检测到一个新的起始位时,接收数据溢出错误发生。该位一直保持为‘1’,直到接收缓冲被读取。重写UCSRA的操作总是设置DOR标志为‘0’。

PE:校验错误标志

在接收允许和检验位比较允许都使能时,接收器检测到刚接收到的数据检测出错,该位将被置‘1’。该位将一直保持为‘1’,直到接收缓冲器被读取。重写UCSRA的操作总是设

你可能喜欢

  • 串行口控制寄存器SCON
  • 串口SATA硬盘驱动
  • 寄存器表表格
  • 位移位寄存器
  • 串口继电器
  • ATmega16寄存器详述
  • STM32串口

ATMEGA8串口寄存器介绍相关文档

最新文档

返回顶部