完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
若要理解低功耗,则先要说一下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的寄存器内容都将会被清零。效果等同于硬件复位。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1847浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
609浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
503浏览 3评论
507浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
488浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:10 , Processed in 0.621747 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号