单片机
返回首页

STM32低功耗唤醒方式

2024-03-12 来源:elecfans

MCU进入低功耗之后,以极低的功耗维持着系统“活着”,但是醒过来是需要一定条件的,比如定个“闹钟”,按键“按一下”等,目前常用的“正常的”唤醒方式有以下几种:

1、RTC定时唤醒;

2、外部中断唤醒(按键或者通讯唤醒);

3、特殊唤醒引脚唤醒(某些引脚具有专门的唤醒功能)。

下面,我们再来看一看如何通过RTC和外部中断唤醒MCU。

1、RTC定时唤醒

依然是从手册中我们可以看到,所有的RTC时间都可以把MCU从低功耗模式中唤醒:

介绍使用RTC的定时功能实现,定时1S唤醒一次,使用cubemx进行对RTC进行配置:

pYYBAGMz8QWAdECFAAJLgQ4ruUw710.png

生成代码的时候,勾选这个选项,可以把不用的引脚配置为模拟输入模式,降低功耗:

pYYBAGMz8SGARX2KAAE3Wv6tero160.png

RTC的配置如图,使能RTC,1S中断唤醒一次:

poYBAGMz8TWALIlRAAFoRltLwe0908.png

接着,我们在while(1)里面写下面的代码,通过串口打印出唤醒信息,实际上代码在执行的时候,遇到红框出的低功耗入口函数,代码会停止在这里,当遇到唤醒信号的时候,会继续往下执行,一般进入STOP模式之前我们会先配置好唤醒所需要的条件,相应的IO等进入低功耗状态,唤醒之后,把硬件相关的重新初始化,才可以正常使用。

poYBAGMz8UiAVLfPAAChI4QcwXA962.png

外部中断也可以用来唤醒MCU,需要提供一个下降沿用以把MCU从低功耗中唤醒。

我们就直接使用串口的RX作为外部中断引脚唤醒,使用串口3的RX也即是PB11引脚,关于外部中断这里不做具体介绍了,需要的小伙伴可以私信我,专门出一期介绍。

需要先配置IO口为外部中断模式:

pYYBAGMz8WWASMkfAAFrUVRvNDA499.png

在进入低功耗模式之前一定要先配置,这样才能够正常唤醒。

pYYBAGMz8YGAFlaOAAFIkP8bivo134.png


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章