|
AN4991 应用笔记 如何使用USART或LPUART将STM32F0/F3/L0/L4微控制器从低功耗模式唤醒3 S( i) _, i( F: Y6 c * ]3 n! ?1 ^1 K. m 前言 通用同步/异步收发器(USART)和低功耗通用异步收发器(LPUART)以先进的低功耗模式功能为特色,即使在MCU处于低功耗模式且APB时钟被禁用时也可以正常接收数据。在本文档中,STM32仅指表 1中列出的产品系列。8 y6 }+ @$ P) O( o- D. o
4 q- ^9 V- Y' S, M9 W6 t, q 1 可通过USART/LPUART唤醒MCU的低功耗模式0 i9 ~5 E) f9 a2 ]( T2 E! @) P USART和LPUART可将STM32 MCU从低功耗模式唤醒。表 2给出了不同MCU系列的低功耗模式的总结。 - P7 @# r) `: U8 }6 k* F! d2 E
关于以上低功耗模式的详细描述,请参见相应参考手册的功率控制部分。8 p3 ?8 m/ d# p% N- i9 e 2 USART/LPUART唤醒功能 ' k A2 j' e6 U 2.1 双时钟域 - k2 D4 j* k) {; P7 ^ 仅当外设支持双时钟域时,USART/LPUART才能将MCU从低功耗模式唤醒。这意味着可通过独立于APB时钟的时钟为USART/LPUART提供时钟。此时钟可以是HSI或LSE时钟。因此,即使USART/LPUART时钟被禁用且MCU处于低功耗模式,USART/LPUART也能够接收数据。 ; u) [3 \' ]2 g5 I( y) V4 S3 |; h, { 0 C# E2 U( T! N# E+ V8 s 2.2 USART/LPUART唤醒源 有不同的USART/LPUART唤醒源可用于将MCU从低功耗模式唤醒: • 通过USART/LPUART_CR3寄存器的WUS位字段选择的特定事件。 5 I$ x8 [& h! G, h5 u2 M5 b 00:在地址匹配时唤醒(按照USART/LPUART_CR2寄存器的ADD[7:0]和ADDM7的定义) 01:保留 10:检测到Start位时唤醒 ; R3 C+ {- X: V" \. }/ c& c: |/ v$ e 11:在每次接收到数据时唤醒(即USART/LPUART_ISR寄存器中RXNE置位) 9 k- J5 |: o- G' g0 H 当唤醒事件得到验证时,通过硬件将USART/LPUART_ISR寄存器中的WUF标志置位,无论MCU处于低功耗模式还是运行模式。如果USART/LPUART_CR3寄存器中的相应中断使能位(WUFIE)置位,它将生成唤醒中断。 % O6 g6 M+ W7 [3 S R4 b8 r: L • RXNE中断 在进入低功耗模式前,必须通过USART/LPUART_CR1寄存器中的RXNEIE位置位来使能RXNE中断。7 a# p( f$ G! L- F! N2 ~; t 为使USART/LPUART能够将MCU从低功耗模式唤醒,在进入低功耗模式前,USART/LPUART_CR1控制寄存器中的UESM位必须置位。 ..... - o# o; ^/ A) S. f 阅读更多内容,请下载文档: 下载地址1>> 下载地址2>> ( u, u7 N- l/ a : o# @7 A" l7 R' b |
| 板凳板凳 |
微信公众号
手机版