数据手册中文资料下载

cross_77617 9 0 pdf 2024-07-26 19:07:02

25.6 USART寄存器描述540/754有关寄存器描述里所使用的缩写,请参考第1.1节。可以用半字(16位)或字(32位)的方式操作这些外设寄存器。

25.6.1 状态寄存器(USART_SR)

地址偏移:0x00

复位值:0x00C0

| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |

|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|

| CTS| LBD| TXE| TC | RXNE| IDLE| ORE| NE | FE | PE | rc | w0 | r | rc | w0 | r | r |

保留位31:10 保留位,硬件强制为0

CTS: CTS标志(CTS flag)位9如果设置了CTSE位,当nCTS输入变化状态时,该位被硬件置高。由软件将其清零。如果USART_CR3中的CTSIE为’1’,则产生中断。

0:nCTS状态线上没有变化;

1:nCTS状态线上发生变化。

注:UART4和UART5上不存在这一位。

LBD: LIN断开检测标志(LIN break detection flag)位8当探测到LIN断开时,该位由硬件置’1’,由软件清’0’(向该位写0)。如果USART_CR3中的LBDIE = 1,则产生中断。

0:没有检测到LIN断开;

1:检测到LIN断开。

注意:若LBDIE=1,当LBD为’1’时要产生中断。

TXE: 发送数据寄存器空(Transmit data register empty)位7当TDR寄存器中的数据被硬件转移到移位寄存器的时候,该位被硬件置位。如果USART_CR1寄存器中的TXEIE为1,则产生中断。对USART_DR的写操作,将该位清零。

0:数据还没有被转移到移位寄存器;

1:数据已经被转移到移位寄存器。

注意:单缓冲器传输中使用该位。

TC: 发送完成(Transmission complete)位6当包含有数据的一帧发送完成后,并且TXE=1时,由硬件将该位置’1’。如果USART_CR1中的TCIE为’1’,则产生中断。由软件序列清除该位(先读USART_SR,然后写入USART_DR)。TC位也可以通过写入’0’来清除,只有在多缓存通讯中才推荐这种清除程序。

0:发送还未完成;

1:发送完成。

RXNE: 读数据寄存器非空(Read data register not empty)位5当RDR移位寄存器中的数据被转移到USART_DR寄存器中,该位被硬件置位。如果USART_CR1寄存器中的RXNEIE为1,则产生中断。对USART_DR的读操作可以将该位清零。RXNE位也可以通过写入0来清除,只有在多缓存通讯中才推荐这种清除程序。

0:数据没有收到;

1:收到数据,可以读出。

如果想更深入了解状态寄存器,可以参考这篇状态寄存器的详细描述。关于其他相关寄存器的初始化和使用方法,请查阅avr数据手册以及RCC寄存器描述的资料。

这样,我们不仅掌握了USART_SR的基本功能,还能进一步了解其他重要寄存器的细节,让我们在硬件编程中更加游刃有余!是不是感觉轻松许多了呢?

用户评论
请输入评论内容
评分:
暂无评论