STMCU小助手
发布时间:2021-11-8 15:11
|
LUASRT介绍 g' t; _7 A9 R# R+ S% w LPUART 是一种 UART,允许在有限功耗下双向 UART 通信。仅需 32.768 kHz LSE 时钟即可进行高达 9600 波特/s 的 UART 通信。当 LPUART 由与 LSE 时钟不同的时钟源驱动时,1 T5 b/ {( {4 k7 t% l 可以达到更高的波特率。, a6 y, B5 B. @$ y, c+ E! Q 即使当微控制器处于低功耗模式,能耗极低时,LPUART 也会等待 UART 帧的到来。LPUART 包含所有必要的硬件支持,使在最小功耗下可以进行异步串行通信。7 D- M4 n3 Q) s7 i4 @, U 它支持半双工单线通信和调制解调器操作 (CTS/RTS), 还支持多处理器通信。9 G* }! T& O# X1 z/ q/ ~% ~7 M, m DMA(直接存储器访问)可用于数据发送/接收。 - w# `6 G' M0 t# V2 V* J$ O2 Q 问题发现 在STM32CubeMX配置过程中使用LUSART发现波特率始终无法设置9600或其他低频波特率。2 @8 {: F/ o7 M9 M0 c% ?4 B - Z: }* b* C- F* i4 r5 ^. K2 D 原因9 C' |/ o1 U, R8 F3 ` LUSART的波特率与时钟频率息息相关,设定APB1时钟频率为64M,则波特率可设范围为15.625KBits/s ~ 21.333MBits/s,故9600不可设。 解决办法 将APB1时钟频率设置到合适值即可。
* I& W0 A! j! \2 s0 {& ] # D# o8 G, l) y7 N( y+ l : v- K& U& A" k1 `$ ]! p |
微信公众号
手机版