LUASRT介绍 LPUART 是一种 UART,允许在有限功耗下双向 UART 通信。仅需 32.768 kHz LSE 时钟即可进行高达 9600 波特/s 的 UART 通信。当 LPUART 由与 LSE 时钟不同的时钟源驱动时, 可以达到更高的波特率。& Z! u9 K9 n, ~6 y 即使当微控制器处于低功耗模式,能耗极低时,LPUART 也会等待 UART 帧的到来。LPUART 包含所有必要的硬件支持,使在最小功耗下可以进行异步串行通信。) S' P! w4 J' F: _ 它支持半双工单线通信和调制解调器操作 (CTS/RTS), 还支持多处理器通信。, e! g4 D; l% U/ h DMA(直接存储器访问)可用于数据发送/接收。' g2 ]% B7 }9 p" { 问题发现6 V$ A; f! w! f/ m% S% \' x: g- { 在STM32CubeMX配置过程中使用LUSART发现波特率始终无法设置9600或其他低频波特率。% B, S# ~& ]' F" U # ]8 U0 G$ t) f' [! T 原因3 A1 h' V( F) Y LUSART的波特率与时钟频率息息相关,设定APB1时钟频率为64M,则波特率可设范围为15.625KBits/s ~ 21.333MBits/s,故9600不可设。 解决办法. v- t% l* H) I0 V' b# A 将APB1时钟频率设置到合适值即可。( c" E- o$ [- G0 Q( w B- X# \5 X* ? + ^0 Q/ n f3 V3 h S" D 1 N$ x' Y: ]6 L( z& m( K $ p" {4 g2 ]* |! _0 h" e |