首先,在该模式下遇到的问题
FreeRTOS系统,开机时,系统时钟设置为MSI RC 2.097MHz,设置电压调节器系数为等级3
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
仿真运行会导致在没有打断点的地方停止,并且监控窗口中某些RAM变量值显示有问题,但实际使用时并没有被实际改变。经观察,仿真中断周期大概为60秒。
不添加此行代码或者改为默认值为2时,该问题解决。
以下分析Low-power模式,具体功能和作用
超低功耗 STM32L071xx 支持动态电压缩放
以优化其在运行模式下的功耗。 可以根据系统的最大工作频率和外部电源电压来调整为逻辑供电的内部低压降稳压器的电压。
{ 这里面有个重要概念:动态电压缩放:动态电压缩放(dynamic voltage scaling,DVS)是一种有效的低能耗技术,它能够在程序运行时动态地改变处理器的电压和频率,在不影响处理器峰值性能的情况下有效的减少处理器的能耗。——摘自《百度百科》}
共有三个功耗范围:
• 范围 1(VDD 范围限制为 1.71-3.6 V),CPU 运行速度高达 32 MHz
• 范围 2(全 VDD 范围),最大 CPU 频率为 16 MHz
• 范围 3(全 VDD 范围),最大 CPU 频率限制为 4.2 MHz
( 由此动态电压缩放功能可以理解为,设定缩放系数后,在程序运行过程中,软件动态调节系统频率以达到降低功耗的目的 )
提供了七种低功耗模式,以实现低功耗、短启动时间和可用唤醒源之间的最佳折衷:
• 睡眠模式
在睡眠模式下,只有 CPU 停止。当中断/事件发生时,所有外设继续运行并且可以唤醒CPU。在所有外设关闭的情况下,16 MHz 的睡眠模式功耗约为 1 mA。
•