ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
接收或发送的数据存储在两个 FIFO 中,但是 RX FIFO 的每个字符都有额外的 4 位用于指示状态。当需要进行发送时,先将数据写入 TX FIFO。如果启用 UART,则数据帧会根据 UART:LCRH 寄存器中指示的参数开始发送。数据持续发送,直到 TX FIFO 中没有剩余数据为止。数据一经写入 TX FIFO(即,如果 FIFO 不为空),UART 标志寄存器 (UART:FR) 的 BUSY 位即会生效,并在数据发送期间一直保持有效。仅当 TX FIFO 为空,且最后一个字符(包括停止位)已从移位寄存器发送时,BUSY 位才为负。即使 UART 可能已不再使能,UART 也可以指示它正忙。
当接收器空闲时(UARTRXD 信号持续为 1),并且数据输入变为低电平(接收到起始位)时,接收计数器开始运行并对数据进行采样。
如果在波特率时钟的第八个周期时 UARTRXD 信号仍为低电平,则起始位有效并被识别,否则起始位被忽略。检测到有效的起始位后,后续数据位在波特率时钟的每第十六个周期进行采样。之后将捕获并校验奇偶校验位(如果使能了奇偶校验)。数据长度和奇偶校验都在 UART:LCRH 寄存器中定义。
最后,如果 UARTRXD 信号为高电平,则确认有效停止位,否则发生成帧错误。若成功接收到一帧数据,则数据连同与之相关的错误标志都将保存到接收 FIFO 中。