马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
STM32F103停机模式介绍 说明:在RTX系统上面实现停机方式仅需了解这里讲解的知识基本就够用了,更多停机方式的知识请看STM32F103参考手册和Cortex-M3权威指南。 在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 STM32F103有三种低功耗模式: (1)睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统滴答定时器Systick等仍在运行)。 (2)停机模式(所有的时钟都已停止)。 (3)待机模式(1.8V电源关闭)。 本章节我们主要讲解停机模式,停机模式是在Cortex™-M3的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.8V供电区域的的所有时钟都被停止, PLL、 HSI和HSE RC振荡器的功能被禁止, SRAM和寄存器内容被保留下来。在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。 在实际的停机模式编程时需要清楚哪些问题呢? 请继 STM32F103如何进入停机模式 在RTX系统中,让STM32进入停机模式比较容易,调用固件库函数PWR_EnterSTOPMode即可,不过要注意:为了进入停机模式,所有的外部中断的请求位(挂起寄存器(EXTI_PR))和RTC的闹钟标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。 STM32F103如何退出停机模式 由于我们是采用指令WFI指令进入停机模式,那么设置任一外部中断线EXTI为中断模式并且在NVIC中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。 在开发板上面是将实体按键K2对应的引脚设置为中断方式触发。按下此按键会将系统从停机模式唤醒。 STM32F103使用停机模式注意事项 使用停机模式注意以下两个问题: (1)进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。 (2)当一个中断或唤醒事件导致退出停机模式时,HSI RC振荡器被选为系统时钟。这个时候用户要根据需要重新配置时钟,如果使用的HSE时钟,那么要重新配置并使能HSE和PLL。
|