STM32G0的PA2和PA3可以配置为LPUART1的复用功能,它们连接到位于Nucleo板顶部的ST-LINK。
STM32不同USART之间的差异
如图所示,USART1和2是最先进的,它们支持这里列出的所有特性,而LPUART(低功耗UARTS)不支持同步模式、IrDA、LIN模式等特性。但是我们会发现,在低功耗模式下它有一些不错的特性。
LPUART可以在FIFO模式下工作,该模式通过软件使能或禁用。LPUART可以发送FIFO(TXFIFO)和接收FIFO(RXFIFO),均为8位数据深度,TXFIFO为9位宽,RXFIFO为12位宽。为什么是12位呢?因为除了存储数据,我们还储存与每个字符相关的一些错误标志,例如奇偶校验错误、噪声错误和帧错误。当计数器为TXFIFO和RXFIFO提供时钟的前提下,即使是在停止模式下也能发送和接收数据。
TXFIFO和RXFIFO阈值可配置,阈值主要用于避免从停止模式唤醒时的出现上溢/下溢问题。当LPUART使用LSE(低速外部32KHz晶振)时,低功耗通用异步收发器以9600波特提供完整的UART通信功能,当使用LSE以外的时钟源时,可以达到更高的波特率,应用可以受益于器件之间简单实惠的连接,这样的连接只需要几个引脚。此外,LPUART外设能在低功耗模式下工作,它具有我们前面提到的发送和接收FIFO,能够在停止模式下进行发送和接收。
LPUART框图
LPUART时钟源可以是APB时钟PCK、系统时钟/SYSCLK/高速内部16MHz晶振/HSI16或LSE/低速外部晶振,然后预分频器将LPUART时钟源时钟分频,分频因子为1至256,TX和RX引脚用于数据发送和接收,nCTS和nRTS引脚用于RS-232硬件流控。“驱动器使能”(DE)引脚与nRTS位于同一IO上,在RS-485模式下使用。