ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
UART 模块提供四个 I/O 信号,用于路由到 DIO。通过 IOC 模块中的 IOCFGn 寄存器选择以下信号。
CTS 和 RTS 线路为低电平有效。
在启用 UART 之前必须配置 IOC,否则输入信号上的不必要转换可能会干扰 UART 对传入事务的处理。当 IOC 配置为 UART 专用 I/O(RXD、CTS、TXD 或 RTS)时,IOC 会向 DIO 设置静态输出驱动器使能(对于输出 TXD 和 RTS,输出驱动器使能 = 1;对于输入 RXD 和 CTS,输出驱动器使能 = 0)。
要启用和初始化 UART,请执行以下步骤:
PRCMPeripheralRunEnable(uint32_t), PRCMPeripheralSleepEnable(uint32_t), PRCMPeripheralDeepSleepEnable(unit32_t),并通过写入 PRCM:CLKLOADCTL 寄存器或使用以下函数将设置加载到时钟控制器
PRCMLoadSet().本节讨论使用 UART 模块所需的步骤。在本例中,假设 UART 时钟为 24MHz,并且期望的 UART 配置如下:
对 UART 进行编程时首先要考虑的是 BRD,因为必须在写入 UART:LCRH 寄存器之前写入 UART:IBRD 和 UART:FBRD 寄存器。可以使用节 22.4.2中所述的公式计算 BRD。
2 的结果表明 UART:IBRD DIVINT 字段必须设置为十进制 13 或 0xD。方程式 7 计算要加载到 UART:FBRD 寄存器中的值。
获得 BRD 值后,按以下顺序将 UART 配置写入模块: