上周完成了一个小项目,项目涉及到stm32的低功耗的待机模式,特在此记录下32的待机模式。
芯片:STM32f030F4
库:HAL库
唤醒方式:用RTC和PA0的上升沿唤醒
先来看下低功耗模式下的情况(只看停止跟待机):
停止模式
停止模式在保留SRAM和寄存器内容的同时实现了非常低的功耗。
1.8V域中的所有时钟停止,PLL、HSI RC和禁用HSE晶体振荡器。电压调节器也可以安装在正常或低功率模式。
该设备可以被任何一条exti线路从停止模式唤醒。
exti行源可以是16个外部行和rtc之一。
待机模式
待机模式用于实现最低功耗。内部关闭电压调节器,使整个1.8V域断电。
这个PLL、HSI RC和HSE晶体振荡器也关闭。
进入后待机模式、SRAM和寄存器内容丢失,但RTC域和备用电路中的寄存器除外。
当外部复位(NRST管脚)、IWDG复位时,设备退出待机模式。
Wkup管脚上的上升沿,或发生RTC事件。
可以看出待机模式跟停止模式差不多,其实功耗上停机配置的好的话也就比待机高一些,不过停止模式的唤醒方式的选择可以更自由,寄存器的数据也可以保存,所以我感觉停机模式更适合大多产品的需求,但是今天我只对待机模式的一些注意事项进行提出。
待机模式的进入很方便,只