STM32的功耗模式

按功耗由高到低排列, STM32 具有运行、睡眠、停止和待机四种工作模式。

低功耗各模式下芯片工作情况:

睡眠模式:仅关闭了内核时钟,内核停止运行,但其片上外设, CM4 核心的外设全都还照常
运行。有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for
interrupt) 和 WFE(wait for event)。

运行流程:关闭时钟-->进入睡眠模式-->等待唤醒-->恢复时钟

//暂停滴答时钟,防止通过滴答时钟中断唤醒
HAL_SuspendTick();

//进入睡眠模式
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);
//等待中断唤醒 K1 或 K2 按键中断

//被唤醒后,恢复滴答时钟
HAL_ResumeTick();

停止模式:进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.2V
区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新
开启时钟后,还可以从上次停止处继续执行代码停止模式可以由任意一个外部中断 (EXTI) 唤
醒。
在停止模式中可以选择电压调节器为开模式或低功耗模式,可选择内部 FLASH 工作在正常
模式或掉电模式。

 

 待机模式:它除了关闭所有的时钟,还把 1.2V 区域的电源也完全关闭了,也就是说,从待机模
式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测 boot 条件,从头开始执行
程序。它有四种唤醒方式,分别是 WKUP(PA0) 引脚的上升沿, RTC 闹钟事件, NRST 引脚的复
位和 IWDG(独立看门狗) 复位。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值