STM32待机唤醒实验.ppt

上传人:牧羊曲112 文档编号:5449595 上传时间:2023-07-08 格式:PPT 页数:18 大小:790KB
返回 下载 相关 举报
STM32待机唤醒实验.ppt_第1页
第1页 / 共18页
STM32待机唤醒实验.ppt_第2页
第2页 / 共18页
STM32待机唤醒实验.ppt_第3页
第3页 / 共18页
STM32待机唤醒实验.ppt_第4页
第4页 / 共18页
STM32待机唤醒实验.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《STM32待机唤醒实验.ppt》由会员分享,可在线阅读,更多相关《STM32待机唤醒实验.ppt(18页珍藏版)》请在三一办公上搜索。

1、ALIENTEK,例说STM32,例说STM32,2023/7/8,广州市星翼电子科技有限公司,1,ALIENTEK开发板购买店铺 店铺:http:/,ALIENTEK,第13讲 待机唤醒实验,13.1 待机模式简介 13.2 待机模式相关寄存器 13.3 待机模式配置步骤 13.4 实验讲解,例说STM32,2,2023/7/8,广州市星翼电子科技有限公司,ALIENTEK,13.1 待机模式简介,例说STM32,3,2023/7/8,广州市星翼电子科技有限公司,很多单片机都有低功耗模式,STM32也不例外。在系统或电源复位以后,微控制器处于运行状态。运行状态下的HCLK为CPU提供时钟,内

2、核执行程序代码。当CPU不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。STM32的低功耗模式有3种:1)睡眠模式(CM3内核停止,外设仍然运行)2)停止模式(所有时钟都停止)3)待机模式(1.8V内核电源关闭)在运行模式下,我们也可以通过降低系统时钟关闭APB和AHB总线上未被使用的外设的时钟来降低功耗。,ALIENTEK,例说STM32,4,2023/7/8,广州市星翼电子科技有限公司,三种低功耗模式一览表见下表:,ALIENTEK,例说STM32,5,2023/7/8,广州市

3、星翼电子科技有限公司,在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要2uA左右的电流。停机模式是次低功耗的,其典型的电流消耗在20uA左右。最后就是睡眠模式了。用户可以根据自己的需求来决定使用哪种低功耗模式。本章,我们就针对STM32的最低功耗模式-待机模式,来做介绍。待机模式可实现STM32的最低功耗。该模式是在CM3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。那么我们如何进入待机模式呢?其实很简单,只要按下图所示的步骤执行就可以了:,ALIENTEK,例说ST

4、M32,6,2023/7/8,广州市星翼电子科技有限公司,从上图可知,我们有4种方式可以退出待机模式,即当一个外部复位(NRST引脚)、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件发生时,微控制器从待机模式退出。从待机唤醒后,除了电源控制/状态寄存器(PWR_CSR),所有寄存器被复位。,ALIENTEK,例说STM32,7,2023/7/8,广州市星翼电子科技有限公司,从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚,读取复位向量等)。电源控制/状态寄存器(PWR_CSR)将会指示内核由待机状态退出。在进入待机模式后,除了复位引脚以及被设置为防侵入或校准输出时的TAMP

5、ER引脚和被是能的唤醒引脚(WK_UP脚),其他的IO引脚都将处于高阻态。,ALIENTEK,13.2 待机模式相关寄存器,例说STM32,8,2023/7/8,广州市星翼电子科技有限公司,电源控制寄存器(PWR_CR)我们通过设置PWR_CR的PDDS位,使CPU进入深度睡眠时进入待机模式,同时我们通过CWUF位,清除之前的唤醒位。,ALIENTEK,例说STM32,9,2023/7/8,广州市星翼电子科技有限公司,ALIENTEK,例说STM32,10,2023/7/8,广州市星翼电子科技有限公司,电源控制/状态寄存器(PWR_CSR)这里,我们通过设置PWR_CSR的EWUP位,来使能W

6、KUP引脚用于待机模式唤醒。我们还可以从WUF来检查是否发生了唤醒事件。,ALIENTEK,例说STM32,11,2023/7/8,广州市星翼电子科技有限公司,ALIENTEK,13.3 待机模式配置步骤,例说STM32,12,2023/7/8,广州市星翼电子科技有限公司,1)设置SLEEPDEEP位。该位在系统控制寄存器(SCB_SCR)的第二位(详见CM3权威指南,第182页表13.1),我们通过设置该位,作为进入待机模式的第一步。2)使能电源时钟,设置WK_UP引脚作为唤醒源。因为要配置电源控制寄存器,所以必须先使能电源时钟。然后再设置PWR_CSR的EWUP位,使能WK_UP用于将CP

7、U从待机模式唤醒。,ALIENTEK,例说STM32,13,2023/7/8,广州市星翼电子科技有限公司,3)设置PDDS位,执行WFI指令,进入待机模式。接着我们通过PWR_CR设置PDDS位,使得CPU进入深度睡眠时进入待机模式,最后执行WFI指令开始进入待机模式,并等待WK_UP中断的到来。4)最后编写WK_UP中断函数。因为我们通过WK_UP中断(PA0中断)来唤醒CPU,所以我们有必要设置一下该中断函数,同时我们也通过该函数里面进入待机模式。,ALIENTEK,13.4 实验讲解,例说STM32,14,2023/7/8,广州市星翼电子科技有限公司,硬件设计:本章,我们使用了WK_UP

8、按键用于唤醒和进入待机模式。然后通过DS0来指示程序是否在运行。因为DS0和WK_UP在MiniSTM32开发板上都是直接连在STM32的IO口上的,不需要任何修改。实验现象:下载代码到开发板后看到开发板一点反应没有。此时,我们长按WK_UP按键3秒钟左右,可以看到DS0开始闪烁。然后再然后再长按WK_UP,DS0会灭掉,程序再次进入待机模式。,ALIENTEK,例说STM32,15,2023/7/8,广州市星翼电子科技有限公司,软件设计:wkup.c,ALIENTEK,例说STM32,16,2023/7/8,广州市星翼电子科技有限公司,ALIENTEK,例说STM32,17,2023/7/8,广州市星翼电子科技有限公司,sys.c,ALIENTEK,例说STM32,18,2023/7/8,广州市星翼电子科技有限公司,main函数,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号