0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32低功耗唤醒方式

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-09-28 15:02 次阅读

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



审核编辑:汤梓红

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

    关注

    146

    文章

    16016

    浏览量

    343576
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348733
  • 低功耗
    +关注

    关注

    9

    文章

    2227

    浏览量

    102657
收藏 人收藏

    评论

    相关推荐

    STM32低功耗入门之唤醒

    同模式下改如何来唤醒 MCU。二,唤醒 MCU如何唤醒 MCU 最好的办法当然是查看官方的手册。 STM32L4 系列提供了多种低功耗模式,
    发表于 05-13 18:36

    STM32低功耗模式

    外部中断或RTC唤醒待机模式-(standby):待机模式的功耗为2uA,TAMPER引脚不关断,通过WKUP引脚唤醒在项目中综合选择了停止模式,在该模式下使用两种唤醒
    发表于 08-12 08:15

    STM32低功耗专用管脚唤醒介绍

    STM32 低功耗专用管脚唤醒 (EWUP)1. 介绍STM32具有多种低功耗模式,当前以STM32
    发表于 02-23 07:11

    介绍STM32低功耗睡眠模式事件唤醒的实现

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化1. 介绍STM32具有多种低功耗模式,当前以
    发表于 02-23 06:02

    STM32低功耗入门之唤醒

    同模式下改如何来唤醒 MCU。二,唤醒 MCU如何唤醒 MCU 最好的办法当然是查看官方的手册。 STM32L4 系列提供了多种低功耗模式,
    发表于 12-07 16:06 15次下载
    <b class='flag-5'>STM32</b>超<b class='flag-5'>低功耗</b>入门之<b class='flag-5'>唤醒</b>

    STM32 低功耗停机模式(STOP)管脚中断(INTERRUPT)唤醒实现及优化

    STM32 低功耗停止模式(STOP)管脚中断唤醒1. 介绍STM32具有多种低功耗模式,当前以STM3
    发表于 12-07 16:21 23次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>停机模式(STOP)管脚中断(INTERRUPT)<b class='flag-5'>唤醒</b>实现及优化

    STM32】串口唤醒低功耗

    项目场景:MCU:STM32G070MDK:V5.25Software Pack:Keil.STM32G0xx_DFP.1.0.0问题描述:单片机进入低功耗之后,想让另一个设备通过串口把它唤醒
    发表于 12-07 19:51 31次下载
    【<b class='flag-5'>STM32</b>】串口<b class='flag-5'>唤醒</b><b class='flag-5'>低功耗</b>

    STM32,CubeMX,低功耗模式:RTC唤醒

    关于低功耗模式,一般来说,要达到节能的效果,一般只用STOP模式和STANDBY模式。但是,进入低功耗模式和唤醒有些需要注意的事项,如下:一、配置相关(STOP与STANDBY设置都一样
    发表于 12-07 20:06 14次下载
    <b class='flag-5'>STM32</b>,CubeMX,<b class='flag-5'>低功耗</b>模式:RTC<b class='flag-5'>唤醒</b>

    STM32 低功耗待机(STANDBY) 和关机(SHUTDOWN) 专用管脚唤醒 (EWUP)

    STM32 低功耗专用管脚唤醒 (EWUP)1. 介绍STM32具有多种低功耗模式,当前以STM32
    发表于 12-31 18:59 24次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>待机(STANDBY) 和关机(SHUTDOWN) 专用管脚<b class='flag-5'>唤醒</b> (EWUP)

    STM32外部中断、串口唤醒低功耗

    外部中断或RTC唤醒待机模式-(standby):待机模式的功耗为2uA,TAMPER引脚不关断,通过WKUP引脚唤醒在项目中综合选择了停止模式,在该模式下使用两种唤醒
    发表于 12-31 19:05 28次下载
    <b class='flag-5'>STM32</b>外部中断、串口<b class='flag-5'>唤醒</b><b class='flag-5'>低功耗</b>

    STM32 低功耗STOP模式,RTC唤醒

    芯片:STM32L071CB开发环境:STM32CubeMX + keil5.33使用实时时钟RTC的 WakeUpTimer定时器产生的中断将STM32从STOP低功耗模式下
    发表于 12-31 19:06 43次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>STOP模式,RTC<b class='flag-5'>唤醒</b>

    STM32F030低功耗之停机模式的进入和唤醒

    本人使用的是STM32F030F4P6进行从机低功耗的设计。设计需求是和主机进行状态同步,主机超时不从串口给回馈(主机关机了)从机进入停机模式等待串口来数据进行唤醒(主机开机了)。1.停机模式介绍
    发表于 12-31 19:07 37次下载
    <b class='flag-5'>STM32</b>F030<b class='flag-5'>低功耗</b>之停机模式的进入和<b class='flag-5'>唤醒</b>

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化1. 介绍STM32具有多种低功耗模式,当前以
    发表于 12-31 19:08 33次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>睡眠模式(SLEEP)事件(EVENT)<b class='flag-5'>唤醒</b>实现及优化

    STM32 低功耗睡眠模式(SLEEP)中断(INTERRUPT)唤醒实现及优化

    STM32 低功耗睡眠模式(SLEEP)中断(INTERRUPT)唤醒实现及优化1. 介绍STM32具有多种低功耗模式,当前以
    发表于 12-31 19:09 38次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>睡眠模式(SLEEP)中断(INTERRUPT)<b class='flag-5'>唤醒</b>实现及优化

    STM32F1系列使用HAL库低功耗STOP和STANDBY模式唤醒(RTC时钟唤醒+外部中断唤醒示例)

    STM32F1系列使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式目录STM32F1系列使用HAL库RTC时钟唤醒
    发表于 12-31 19:09 60次下载
    <b class='flag-5'>STM32</b>F1系列使用HAL库<b class='flag-5'>低功耗</b>STOP和STANDBY模式<b class='flag-5'>唤醒</b>(RTC时钟<b class='flag-5'>唤醒</b>+外部中断<b class='flag-5'>唤醒</b>示例)