| 
 
| 1、单个芯片进行低功耗测试的时候,没有任何外围器件时,将所有的IO口均设为模拟输入(AIN),无上下拉电阻,400khz,所有外设均不开启,按照如下程序进行进入STOP模式: RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
 PWR_FastWakeUpCmd(ENABLE);
 PWR_UltraLowPowerCmd(ENABLE);
 PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
 
 其中RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);必须要有,否则功耗将会大18ua左右;
 这时的功耗约为0.4ua;
 standby模式为0.3ua
 
 2、单个芯片进行低功耗模式,设置RTC,无唤醒时,为1.7ua左右;
 有唤醒时,进入stop模式为1.7ua,唤醒后再进入低功耗则为4.5ua(很奇怪)
 
 3、单个芯片进行低功耗模式,运行RTC,LCD,开SPI,按键中断等功能,功耗为7.5ua,注意点是
 (1)将无关的IO口设置为模拟输入(AIN) ,如果有一个IO口没有设置,则功耗多出10ua左右,这里同时要将SW调试的接口也要这么设置,BOOT引脚设置与否对电流影响不大。
 (2)在进入低功耗前将SPI(将所开的外设关闭)关闭。
 (3)在跳出低功耗时,系统自动将时钟切换为MSI时钟,要将时钟调回HSI。
 (4)在进入低功耗时,系统会保存原有的IO设置状态。
 (5)在跳出低功耗时,要重新开启外设。
 
 4、STM32l152进入低功耗时,可以在线调试,只要调用函数DBGMCU_Config(DBGMCU_STOP,ENABLE);
 
 | 
 |