31~22 |
| 保留 |
| 必须保持复位 |
21 | TEACK | 发送使能确认标志 (Transmit enable acknowledge flag) | USART 采用发送使能值时,通过硬件将此位置 1/复位。通过写入 TE=0 生成空闲帧请求,然后在 USARTx_CR1 寄存器中写入 TE=1 以遵循 TE=0最短周期时,可使用此位 |
|
20~19 |
| 保留 |
| 必须保持复位 |
18 | SBKF | 发送断路标志 (Send break flag) | 此位指示已请求发送断路字符。通过将 1 写入USARTx_RQR 寄存器中的 SBKRQ 位,此位由软件置 1。此位在断路发送的停止位期间由硬件自动复位。
0:不发送断路字符
1:将发送断路字符 |
|
17 | CMF | 字符匹配标志 (Character match flag) | 接收到由 ADD[7:0] 定义的字符后由硬件将此位置 1。通过向 USARTx_ICR 寄存器中的CMCF 写入 1,此位由软件清零。如果 USARTx_CR1 寄存器中 CMIE=1,则会生成中断。
0:未检测到字符匹配
1:检测到字符匹配 |
|
16 | BUSY | 忙标志 (Busy flag) | 此位由硬件置 1 和复位。当 RX 线路上正在进行通信(成功检测到起始位)时有效。在接收结束(成功或失败)时复位。
0:USART 处于空闲状态(无接收)
1:正在接收 |
|
15 | ABRF | 自动波特率标志 (Auto baud rate flag) | 已设置自动波特率(RXNE 也将置 1,并在 RXNEIE = 1 时生成中断),或者自动波特率操作未成功完成时,此位由硬件置 1 (ABRE=1)(此时,ABRE、RXNE 和 FE 也置 1)为请求新的自动波特率检测,通过向 USARTx_RQR 寄存器中的 ABRRQ 写入 1,此位由软件清零。 | 注: 如果 USART 不支持自动波特率功能,则此位保留并由硬件强制清零。 |
14 | ABRE | 自动波特率错误 (Auto baud rate error) | 如果波特率测量失败(波特率超出范围或字符比较失败),此位由硬件置 1。通过将 1 写入 USARTx_CR3 寄存器中的 ABRRQ 位,此位由软件清零。 | 如果 USART 不支持自动波特率功能,则此位保留并由硬件强制清零。 |
13 |
| 保留 |
| 必须保持复位 |
12 | EOBF | 块结束标志 (End of block flag) | 接收到完整块后,此位由硬件置 1(例如 T=1 智能卡模式)。接收到的字节数(从块的起始处,包括起始字段)等于或大于 BLEN + 4 时执行检测。如果 USARTx_CR2 寄存器中 EOBIE = 1,则会生成中断。通过向 USARTx_ICR 寄存器中的 EOBCF 写入1,此位由软件清零。
0:未达到块结束
1:已达到块结束(字符数) | 注: 如果不支持智能卡模式,该位保留并由硬件强制清零 |
11 | RTOF | 接收器超时 (Receiver timeout) | 已经过在 RTOR 寄存器中编程的超时值后,如果无任何通信,此位由硬件置 1。通过向USARTx_ICR 寄存器中的 RTOCF 写入 1,此位由软件清零。如果 USARTx_CR2 寄存器中 RTOIE=1,则会生成中断。在智能卡模式下,该超时对应于 CWT 或 BWT 时间。
0:未达到超值值
1:已达到超时值,未接收到任何数据 | 如果 RTOR 寄存器中编程的时间值将 2 个字符隔开,则 RTOF 不置 1。如果此时间大于该值 + 2 个采样时间(2/16 或 2/8,具体取决于过采样方法),则 RTOF 标志置 1。即使 RE = 0,计数器仍会计数,但 RTOF 仅在 RE = 1 时置 1。如果 RE 置 1 时已经超时,则 RTOF 将置 1。
如果 USART 不支持接收器超时功能,该位保留并由硬件强制清零。 |
10 | CTS | CTS 标志 (CTS flag) | 此位由硬件置 1/复位。此位是对 nCTS 输入引脚的状态取反。
0:nCTS 线置 1
1:nCTS 线复位 | 注: 如果不支持硬件流控制功能,该位保留并由硬件强制清零。 |
9 | CTSIF | CTS 中断标志 (CTS interrupt flag) | 如果 CTSE 位置 1,当 nCTS 输入切换时,此位由硬件置 1。通过向 USARTx_ICR 寄存器中的 CTSCF 位写入 1,此位由软件清零。如果 USARTx_CR3 寄存器中 CTSIE=1,则会生成中断。
0:nCTS 状态线上未发生变化
1:nCTS 状态线上发生变化 | 注: 如果不支持硬件流控制功能,该位保留并由硬件强制清零。 |
8 | LBDF | LIN 断路检测标志 (LIN break detection flag) | 检测到 LIN 断路时,该位由硬件置 1。通过向 USARTx_ICR 寄存器中的 LBDCF 写入 1,此位由软件清零。如果 USARTx_CR2 寄存器中 LBDIE = 1,则会生成中断。
0:未检测到 LIN 断路
1:检测到 LIN 断路 | 注: 如果 USART 不支持 LIN 模式,该位保留并由硬件强制清零。 |
7 | TXE | 发送数据寄存器为空 (Transmit data register empty) | 当 USARTx_TDR 寄存器的内容已传输到移位寄存器时,该位由硬件置 1。通过对USARTx_TDR 寄存器执行写入操作将该位清零。为丢弃数据(仅在智能卡 T=0 模式下出现发送故障时),也可以通过向 USARTx_RQR 寄存器中的 TXFRQ 写入 1 来将 TXE 标志清零。如果 USARTx_CR1 寄存器中 TXEIE 位 = 1,则会生成中断。
0:数据未传输到移位寄存器
1:数据传输到移位寄存器 | 注: 单缓冲区发送期间使用该位 |
6 | TC | 发送完成 (Transmission complete) | 如果已完成对包含数据的帧的发送并且 TXE 置 1,则该位由硬件置 1。如果 USARTx_CR1寄存器中 TCIE=1,则会生成中断。通过向 USARTx_ICR 寄存器中的 TCCF 写入 1 或向USARTx_TDR 寄存器执行写操作,此位由软件清零。如果 USARTx_CR1 寄存器中 TCIE=1,则会生成中断。
0:传送未完成
1:传送已完成 | 注: 如果 TE 位复位且无任何发送正在进行,TC 位会立即置 1 |
5 | RXNE | 读取数据寄存器不为空 (Read data register not empty) | 当 RDR 移位寄存器的内容已传输到 USARTx_RDR 寄存器时,该位由硬件置 1。通过对USARTx_RDR 寄存器执行读入操作将该位清零。也可以通过将 USARTx_RQR 寄存器中的RXFRQ 位置 1 将 RXNE 标志位清零。如果 USARTx_CR1 寄存器中 RXNEIE=1,则会生成中断。
0:未接收到数据
1:已准备好读取接收到的数据 |
|
4 | IDLE | 检测到空闲线路 (IDLE line detected) | 检测到空闲线路时,该位由硬件置 1。如果 USARTx_CR1 寄存器中 IDLEIE=1,则会生成中断。通过向 USARTx_ICR 寄存器中的 IDLECF 写入 1,此位由软件清零。
0:未检测到空闲线路
1:检测到空闲线路 | 注: 直到 RXNE 位已置 1 时(即,当出现新的空闲线路时)IDLE 位才会被再次置 1。使能静默模式 (MME=1) 后,如果 USART 未静默 (RWU=0),则 IDLE 置 1,无论是否通过 WAKE 位选择了静默模式。如果 RWU=1,IDLE 不置 1。 |
3 | ORE | 溢出错误 (Overrun error) | 在 RXNE = 1 的情况下,当移位寄存器中当前正在接收的数据准备好传输到 RDR 寄存器时,该位由硬件置 1。通过向 USARTx_ICR 寄存器中的 ORECF 写入 1,此位由软件清零。如果 USARTx_CR1 寄存器中 RXNEIE=1 或 EIE = 1,则会生成中断。
0:无溢出错误
1:检测到溢出错误 | 注: 当此位置 1 时, |
2 | NF | START 位噪声检测标志 (START bit Noise detection flag) | 当在接收的帧上检测到噪声时,该位由硬件置 1。通过向 USARTx_ICR 寄存器中的 NFCF写入 1,此位由软件清零。
0:未检测到噪声
1:检测到噪声 | 注: 该位不会生成中断,因为该位出现的时间与本身生成中断的 RXNE 位出现的时间相同。EIE 位置 1 后,如果在多缓冲区通信中 NF 标志置 1,则会生成中断。
当线路无噪声时,可以通过将 ONEBIT 位编程为 1 提高 USART 对偏差的容差来禁止NF 标志 |
1 | FE | 帧错误 (Framing error) | 当检测到去同步化、过度的噪声或中断字符时,该位由硬件置 1。通过向 USARTx_ICR 寄存器中的 FECF 写入 1,此位由软件清零。在智能卡模式下发送期间,如果在达到最大发送尝试次数后仍未成功(智能卡向数据帧发送NACK 信号),则此位置 1。如果 USARTx_CR1 寄存器中 EIE = 1,则会生成中断。
0:未检测到帧错误
1:检测到帧错误或中断字符 |
|
0 | PE | 奇偶校验错误 (Parity error) | 当在接收器模式下发生奇偶校验错误时,该位由硬件置 1。通过向 USARTx_ICR 寄存器中的 PECF 写入 1,此位由软件清零。如果 USARTx_CR1 寄存器中 PEIE = 1,则会生成中断。
0:无奇偶校验错误
1:奇偶校验错误 |
|
31~18 |
| 保留 |
| 必须保持复位 |
17 | CMCF | 字符匹配清零标志 (Character match clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 CMF 标志将清零。 |
|
16~13 |
| 保留 |
| 必须保持复位 |
12 | EOBCF | 块结束清零标志 (End of block clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 EOBF 标志将清零。 | 注: 如果 USART 不支持智能卡模式,该位保留并由硬件强制清零。 |
11 | RTOCF | 接收器超时清零标志 (Receiver timeout clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 RTOF 标志将清零。 | 注: 如果 USART 不支持接收器超时功能,该位保留并由硬件强制清零。 |
10 | 保留 |
|
| 必须保持复位值。 |
9 | CTSCF | CTS 清零标志 (CTS clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 CTSIF 标志将清零。 | 注: 如果不支持硬件流控制功能,该位保留并由硬件强制清零。 |
8 | LBDCF | LIN 中断检测清零标志 (LIN break detection clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 LBDF 标志将清零。 | 注: 如果 LIN 不支持智能卡模式,该位保留并由硬件强制清零 |
7 |
| 保留 |
| 必须保持复位值。 |
6 | TCCF | 发送完成清零标志 (Transmission complete clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 TC 标志将清零。 |
|
5 |
| 保留 |
| 必须保持复位值。 |
4 | IDLECF | 检测到空闲线路清零标志 (Idle line detected clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 IDLE 标志将清零。 |
|
3 | ORECF | 上溢错误清零标志 (Overrun error clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 ORE 标志将清零。 |
|
2 | NCF | 检测到噪声清零标志 (Noise detected clear flag) |
| 将 1 写入此位时,USARTx_ISR 寄存器中 NF 标志将清零。 |
1 | FECF | 帧错误清零标志 (Framing error clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 FE 标志将清零。 |
|
0 | PECF | 奇偶校验错误清零标志 (Parity error clear flag) | 将 1 写入此位时,USARTx_ISR 寄存器中 PE 标志将清零。 |
|