USART寄存器描述-stm32f407vet6数据手册下载中文资料
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 | r | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 |
- 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:收到数据,可以读出。
参照2009年12月RM0008 Reference Manual英文第10版本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本。有关更多详细信息,您可以参考状态寄存器、avr数据手册或STM32寄存器数据手册。这些资源将帮助您更好地理解和使用这些寄存器。