这四种模式的功耗一个比一个低,睡眠模式不是最低功耗模式,它的工作机制恐怕与楼主理解的其他单片机sleep模式不太一样。
STM32的Sleep模式,只是关闭了CPU,而所有的其它部分都处于运行状态,包括所有外设和存储器。
估计楼主理解的与其他单片机sleep模式对应的应该是STM32的停止模式或待机模式。停止模式和待机模式的功耗都是uA级的。
下面是摘录于STM32F103的数据手册中有关低功耗部分的说明:
低功耗模式 STM32F103xx增强型支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。
睡眠(Sleep)模式 在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。
停机(Stop)模式 在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI和HSE的RC振荡器被关闭,调压器可以被置于普通模式或低功耗模式。 可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。
待机(Standby)模式 在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI和HSE的RC振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。 从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP管脚上的一个上升边沿或RTC的闹钟到时。
|