基干Hal库的STM32F030C8T6的低功耗测试

先把所有端口配置为推挽输出低电平。
低功耗关键指令,两条指令不可少。
__HAL_RCC_PWR_CLK_ENABLE();
HAL_PWR_EnterSTANDBYMode();待机模式
(HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);停机模式)

  1. 不打开任何外设5uA 含LDO2.5uA(待机模式),9uA停机模式
  2. 打开RTC并使能唤醒中断ss[5:0]compared 左右6.8uA,关闭RTC中断也是一样。( 待机模式)。在停机模式下打开RTC对功耗没有什么影响还是9uA。
  3. 打开iwdg, 在待机模式下功耗降不下来。在停机模式下功耗9.8uA。因为这个后面的测试都是基于停机模式。
  4. 把外部低速晶振接入,RTC时钟切换到外部低速晶振。功耗略增长到了10uA。
  5. 使能PLL 系统时钟改为16MHz RTC唤醒CPU后再对时钟配置一次。功耗增加到12.4uA。时钟改为20MHz功耗为12.3uA。时钟改为48MHz功耗为13uA。时钟为32MHz功耗为12.6uA。
  6. 在第5基础上,每次唤醒后增加i=1000; while(–i);32MHz功耗为23.8uA。48MH功耗为23.8uA。16MHz时为24uA。在同样的指令下更快的速度可以降低一点功耗,但不明显。

你可能感兴趣的:(技术)