ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
当设置 CTL0.MODE 寄存器位中的 IDLELINE 时,将选中空闲线多处理器格式。数据块会在发送或接收线路上以一段空闲时间隔开(图 21-10)。在一个字符的一个或两个停止位后,当接收到 10 个或更多的连续数据块(标志)时,一条空闲接收线路会被检测到。在接收到一条空闲线后,在下一次开始边沿被检测到前波特率发生器被切断。当检测到空闲线时,会设置 UARTx.STAT 中的 IDLE 位。在空闲线模式下,UART 接收器在无奇偶校验模式下运行,并且 UART 字长 (UARTx.LCRH.WLEN) 必须设置为 8 位。
一段空闲时段后接收到的第一个字符为一个地址字符。UARTx.STAT 寄存器中的 IDLE 位用作每个字符块的地址标记。在空闲线多处理器模式下,当接收的一个字符是一个地址时该位就会被置 1。
如果接收到地址字符、则将其与 ADDR 寄存器进行比较、并应用 AMASK。如果接收到的字符匹配,地址字符和所有后续接收到的字符都会传输到 RXDATA 缓冲区,并产生中断/标志,直到接收到下一个没有匹配的地址。当地址匹配时,UARTx.STAT 寄存器中的 IDLE 位会自动清零;否则,将设置 IDLE 位,直到地址匹配。
当设置 UARTx.LCRH 寄存器中的 SENDIDLE 位时,UART 会在总线上插入一个 11 位的空闲周期,同时正在进行的传输会首先完成。下一个传输将会延迟,直到这个空闲周期结束。然后,下一个传输可以从地址字符开始。
以下程序通过发送一个空闲帧来表示一个地址字符及随后其关联的数据:
空闲周期不能超过地址和数据传输之间或者数据和数据传输的时间。否则,传输的数据将被误解为一个地址。
IDLELINE 模式下的 BUSY 位: