STM32——浅谈睡眠模式、停机模式、待机模式
若要理解低功耗,则先要说一下STM32的事件和中断
事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断。在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件,但一个事件不一定对应一个中断。
当外部有信号输入时,如果通过了事件屏蔽寄存器,那么事件信号就进入脉冲触发器,引发一个脉冲信号,直接传递给相应的外设,用于触发,这就是一个纯硬件的过程,理解DMA的应该知道,这个方式不需要CPU参与,但是这也有它的缺点,如功能比较单一,仅能提供信号,不能提供信息,也就是只能产生指定功能的事件。如果通过中断屏蔽寄存器,就被直接送到CPU中,产生中断,如进入上面的入口函数开始处理。从这就可看出,事件是单纯硬件触发执行的过程,与CPU本身设计支持有关,而中断中则可以软件实现各种功能,而低功耗模式的事件唤醒就是stm32支持的事件之一。
对于STM32来说,共有3种低功耗模式:睡眠模式,停机模式,待机模式。
睡眠模式
当Cortex-M3遇到WFE(等待中断)或者WFI(等待事件)指令时会停止内部时钟,中带程序执行。尽管Cortex-M3停止工作,但是其外设仍在继续工作,直到某个外设产生事件或者中断时,内核将会被唤醒,藉此退出睡眠模式。
停机模式
倘若用户将Cortex-M3处理器的电源控制寄存器(Cortex Power Control Register,Cor-tex_PCR)中的SLEEPDEEP位置位,然后将STM32电源控制寄存器(STM32 Power Control Register.STM32 PCR)中的PDDS(Power Down Deep Sleep)位清除,就完成了 STM32停机模式的设置。
当停机模式设置完毕后,CPU一旦遇到WFI或 WFE指令就会停止工作,HSI和HSE 也进人关闭状态。但Flash和SRAM将会继续保持电源供应,所以此时STM32的所有工作状态仍然是保留着的。和睡眠模式一样,停机模式也可以通过外设中断唤醒,然面在停机模式下,除了外部中断控制单元,所有设备的时钟都被禁止了,只能通过在GPIO引脚上产生电平边沿触发外部中断的方式来将STM32从停机状态下唤醒。而前面也曾提到过,外部中断通道除了与GPIO连接,还和RTC时钟的报警事件连接,加之RTC的计数时钟并非来源于STM32的设备总线(而是直接来自LSI或LSE),因此还可以使用RTC模块实现定时将STM32从停机状态中唤醒。
待机模式
将Cortex_PCR中的SLEEP位进行置位,再将STM32_PCR中的PDDS位进行置位,如此一来,STM32则进入待机模式。
若要唤醒待机模式,有多种方式进行唤醒,分别位:RTC的闹钟事件、NRST的外部引脚复位、独立看门狗(IWDG)所产生的复位信号,以及GPIOA.0引脚上所产生的一个上升沿,但是若要是要该引脚所产生的上升沿来唤醒STM32,则必须事先设置为唤醒引脚功能。待机模式是STM32的最低功耗模式。
当进入待机模式后,所有的SRAM数据、Cortex-M3处理器的寄存器和STM32的寄存器内容都将会被清零。效果等同于硬件复位。
STM32——浅谈睡眠模式、停机模式、待机模式相关推荐
- 休眠后gpio状态_浅谈Digi XBee模块的休眠模式
浅谈Digi XBee模块的休眠模式 2020-3-25 Digi XBee S2C模块,如果仅连接电源线可以测得,在待机情况下,大约是10.5mA左右的电流,在休眠时的功耗可以低到0.5uA.可以知 ...
- [原]浅谈几种服务器端模型——反应堆模式(epoll 简介) - _Boz - 博客园
[原]浅谈几种服务器端模型--反应堆模式(epoll 简介) - _Boz - 博客园 [原]浅谈几种服务器端模型--反应堆模式(epoll 简介) 引言:上一篇说到了线程池方式来处理服务器端的并发, ...
- 浅谈 CRTP:奇异递归模板模式
浅谈 CRTP:奇异递归模板模式 前言 建议先看一遍文末的参考资料! 建议先看一遍文末的参考资料! 建议先看一遍文末的参考资料! 思维导图 一.CRTP 是什么 CRTP 全称 : Curiously ...
- html 怪异模式,CSS_浅谈CSS编程中的怪异模式,怪异模式盒模型
今天学习了 - phpStudy...
浅谈CSS编程中的怪异模式 怪异模式盒模型 今天学习了一下css3的box-sizing属性,顺便又温习了一下css的盒模型,最后觉得有必要对盒模型做一个全面整理. 先不考虑css3的情况,盒模型一共 ...
- 【Android 电量优化】电量优化特性 ( Doze 低电耗模式 | Standby 应用待机模式 | 白名单设置 | 白名单添加系统设置界面 | 指定应用的白名单添加界面 | 测试应用 )
文章目录 一.Doze 低耗电模式简介 二.Standby 应用待机模式简介 三.Doze 和 Standby 模式测试 四.白名单添加 ( 方式一 ) 五.白名单添加 ( 方式二 ) Android ...
- (两百七十)学习 针对低电耗模式和应用待机模式进行优化
https://developer.android.google.cn/training/monitoring-device-state/doze-standby 针对低电耗模式和应用待机模式进行优化 ...
- AlarmManager针对低电耗模式和应用待机模式进行优化
从 Android 6.0(API 级别 23)开始,Android 引入了两项省电功能,通过管理应用在设备未连接至电源时的行为方式,帮助用户延长电池寿命.当用户长时间未使用设备时,低电耗模式会延迟应 ...
- 浅谈.Net版(C#)的CMP模式
商城上线快2.3个月了,一直都懒得写点东西,在加上杂七杂八的事情也比较忙,所以都没有把这个系统当时做的整个架构思绪整理清,昨天才从深圳完了两天回来,怎感觉是要做的事来着.刚开始接触CMP模式的时候也是 ...
- Android开发用到的几种常用设计模式浅谈(一):组合模式
1:应用场景 Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用.在android UI设计,几乎所有的widget和布局类都依靠这两个类.组合模式 ...
最新文章
- 2016年第七届蓝桥杯决赛Java本科B组试题解析
- 基于tensorflow深度学习的中文的命名实体识别
- net core文件接收(jpg、png、zip、pdf等自己设置)
- lopatkin俄大神精简中文系统Windows 10 Pro 18363.592 19H2 Release x86-x64 ZH-CN SM
- FastDFS实现原理及流程
- Mac下载m3u8视频
- matlab firl,matlab 利用matlab工具箱函数fir1 联合开发网 - pudn.com
- 华为手机下拉菜单变大_华为手机如何设置下拉菜单顺序 原来是这样的
- Calendar类你可能不知道的坑
- 05、汇编语言和汇编软件
- GhostXP_SP3电脑公司特别版_V2013.06
- connection reset by peer
- 英伟达的这款GPU太强了!
- JS 实战: Drag 点击拖曳效果
- 浅谈手机系统——iOS
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample
- 【读书笔记】分布式下服务可靠性保障
- 逆向倾向评分 (Inverse Propensity Scoring, IPS) 原理解析与MF算法的结合使用
- 韦东山ARM第一期作业(三)内存控制器和SDRAM
- bga封装扇出过孔_Altium Designer BGA扇出
热门文章
- Python 如何 ping
- 经典分割线 html分割线
- 小程序 获取今天日期 星期几 不墨迹就是快
- 还在学Django! FastAPI Web 框架教程来了!
- python实现简单舒尔方格
- 【大数据入门】Hadoop技术原理与应用之基于Hadoop的数据仓库Hive
- TOP20W词库,双十一,直通车,用超级推荐获取手淘流量的方法——上篇
- Dell笔记本更换系统主板后出现Microsoft Office Outlook Exchange 错误 80090016
- SDIO - 1bit / 4bit V2.0 协议深度解析-简单易懂协议详解
- css写七步诗,兄弟情谊的诗句