通用异步串行接口UART第十六节通用异步串行接口 UARTUART 模块提供了一个全双工标准接口,用于完成 SPCE061A 与外设之间的串行通讯。借 助于 IOB 口的特殊功能和 UART IRQ 中断,可以同时完成 UART 接口的接收发送数据的过程。 此外,UART 还可以缓冲地接收数据。 也就是说,它可以在读取缓存器内当前数据之前接收新的 数据。但是,如果新的数据被接收到缓存器之前一直未从中读取先前的数据,会发生数据丢失。 P_UART_Data ($7023H) (读/写)单元可以用于接收和发送数据的缓存,向该单元写入数据, 可以将 发送的数据送入缓存器; 从该单元读数据, 可以从缓存器读出数据字节。 UART 模块的接收管脚 Rx 和发送管脚 Tx 分别与 IOB7 和 IOB10 共用。 使用 UART 模块进行通讯时, 必须事先分别将管脚 Rx(IOB7)、 Tx(IOB10)设置为输入状态、 输出状态。 然后, 通过设置 P_UART_BaudScalarLow ($7024H)、 P_UART_BaudScalarHigh ($7025H) 单元指定所需波特率。 同时, 设置 P_UART_Command1($7021H)和 P_UART_Command2 ($7022H) 单元以激活 UART 通讯功能。以上设置完成后,UART 将处于激活状态。设置 P_UART_Command1 单元的第 6、7 位可以激活 UART IRQ 中断,并决定中断是由 TxRDY 或 RxRDY 信号触发以及由二者共同触发。设置 P_UART_Command2 单元的第 6、7 位可以激活 UART Tx、 Rx 管脚功能。 当’nSP接收或发送一个字节数据时, P_UART_Command2 ($7022H) 单元的第 6、7 位被置为“1”且同时触发 UART IRQ。无论 UAR……