
LUASRT介绍% ?2 o/ V( M' G, k LPUART 是一种 UART,允许在有限功耗下双向 UART 通信。仅需 32.768 kHz LSE 时钟即可进行高达 9600 波特/s 的 UART 通信。当 LPUART 由与 LSE 时钟不同的时钟源驱动时, 可以达到更高的波特率。6 Z1 U6 c) o M# f4 x) k 即使当微控制器处于低功耗模式,能耗极低时,LPUART 也会等待 UART 帧的到来。LPUART7 o, ]6 m4 ]+ q; }2 C0 u 包含所有必要的硬件支持,使在最小功耗下可以进行异步串行通信。 它支持半双工单线通信和调制解调器操作 (CTS/RTS)," u! s4 T K$ O" {# @0 P5 y5 d 还支持多处理器通信。 DMA(直接存储器访问)可用于数据发送/接收。 ' N) [% g; e: m1 C 问题发现 在STM32CubeMX配置过程中使用LUSART发现波特率始终无法设置9600或其他低频波特率。 - [6 \2 S: Y7 c! C! g/ {: v 原因 LUSART的波特率与时钟频率息息相关,设定APB1时钟频率为64M,则波特率可设范围为15.625KBits/s ~ 21.333MBits/s,故9600不可设。7 }. w. f8 `( W) J" V1 P D$ k 解决办法 将APB1时钟频率设置到合适值即可。5 {: q7 O$ g7 h, [$ V h ![]() * i) E& G, f F ! G! }3 y! \! Y8 h) L( H 6 ?" `8 Q6 J8 ^% c" v$ T7 e3 d# r |