STM32低功耗唤醒方式

描述

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

1、RTC定时唤醒;

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

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

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

1、RTC定时唤醒

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

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

低功耗

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

低功耗

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

低功耗

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

低功耗

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

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

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

低功耗

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

低功耗



审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分