网站大量收购闲置独家精品文档,联系QQ:2885784924

STM32待机唤醒实验.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ALIENTEK * ALIENTEK * ALIENTEK * ALIENTEK * ALIENTEK * ALIENTEK * ALIENTEK * ALIENTEK 广州市星翼电子科技有限公司 广州市星翼电子科技有限公司 广州市星翼电子科技有限公司 广州市星翼电子科技有限公司 《例说STM32》 例说STM32 * 广州市星翼电子科技有限公司 * ALIENTEK开发板购买店铺 店铺: 第13讲 待机唤醒实验 13.1 待机模式简介 13.2 待机模式相关寄存器 13.3 待机模式配置步骤 13.4 实验讲解 《例说STM32》 * * 广州市星翼电子科技有限公司 13.1 待机模式简介 《例说STM32》 * * 广州市星翼电子科技有限公司 很多单片机都有低功耗模式,STM32也不例外。在系统或电源复位以后,微控制器处于运行状态。运行状态下的HCLK为CPU提供时钟,内核执行程序代码。当CPU不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 STM32的低功耗模式有3种: 1)睡眠模式(CM3内核停止,外设仍然运行) 2)停止模式(所有时钟都停止) 3)待机模式(1.8V内核电源关闭) 在运行模式下,我们也可以通过降低系统时钟关闭APB和AHB总线上 未被使用的外设的时钟来降低功耗。 《例说STM32》 * * 广州市星翼电子科技有限公司 三种低功耗模式一览表见下表: 《例说STM32》 * * 广州市星翼电子科技有限公司 在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要2uA左右的电流。停机模式是次低功耗的,其典型的电流消耗在20uA左右。最后就是睡眠模式了。用户可以根据自己的需求来决定使用哪种低功耗模式。 本章,我们就针对STM32的最低功耗模式-待机模式,来做介绍。待机模式可实现STM32的最低功耗。该模式是在CM3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。 那么我们如何进入待机模式呢?其实很简单,只要按下图所示的步骤执行就可以了: 《例说STM32》 * * 广州市星翼电子科技有限公司 从上图可知,我们有4种方式可以退出待机模式,即当一个外部复位(NRST引脚)、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件发生时,微控制器从待机模式退出。从待机唤醒后,除了电源控制/状态寄存器(PWR_CSR),所有寄存器被复位。 《例说STM32》 * * 广州市星翼电子科技有限公司 从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚,读取复位向量等)。电源控制/状态寄存器(PWR_CSR)将会指示内核由待机状态退出。 在进入待机模式后,除了复位引脚以及被设置为防侵入或校准输出时的TAMPER引脚和被是能的唤醒引脚(WK_UP脚),其他的IO引脚都将处于高阻态。 13.2 待机模式相关寄存器 《例说STM32》 * * 广州市星翼电子科技有限公司 电源控制寄存器(PWR_CR) 我们通过设置PWR_CR的PDDS位,使CPU进入深度睡眠时进入待机模式,同时我们通过CWUF位,清除之前的唤醒位。 《例说STM32》 * * 广州市星翼电子科技有限公司 《例说STM32》 * * 广州市星翼电子科技有限公司 电源控制/状态寄存器(PWR_CSR) 这里,我们通过设置PWR_CSR的EWUP位,来使能WKUP引脚用于待机模式唤醒。我们还可以从WUF来检查是否发生了唤醒事件。 《例说STM32》 * * 广州市星翼电子科技有限公司 13.3 待机模式配置步骤 《例说STM32》 * * 广州市星翼电子科技有限公司 1)设置SLEEPDEEP位。 该位在系统控制寄存器(SCB_SCR)的第二位(详见《CM3权威指南》,第182页表13.1),我们通过设置该位,作为进入待机模式的第一步。 2)使能电源时钟,设置WK_UP引脚作为唤醒源。 因为要配置电源控制寄存器,所以必须先使能电源时钟。然后再设置PWR_CSR的EWUP位,使能WK_UP用于将CPU从待机模式唤醒。 《例说STM32》 * * 广州市星翼电子科技有限公司 3)设置PDDS位,执行WFI指令,进入待机模式。 接着我们通过PWR_CR设置PDDS位,使得CPU进入深度睡眠时进入待机模式,最后执行WFI指令开始进入待机模式,并等待WK_UP中断的到来。 4)最后编写WK_UP中断函数。 因为我们通过WK_UP中断(PA0中断)来唤醒CPU,所

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档