2018年5月9日
这个芯片的低功耗搞了好久了,刚开始是7mA降不下去,然后是降到了1mA,到现在的200uA,还是有地方没有弄好,目标是降到50uA左右,目前遇到了问题,进入STOP模式的时候降到了110uA,然后会慢慢回升80uA。
这里先写一下之前的一些总结。
首先进入的是STOP模式,因为这个模式功耗已经很低了,而且这个时候可以任意外部中断唤醒。
进入中断的方式。
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //使能电源时钟
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);// 进入STOP模式
在这之前要关闭外部模块或者使外部模块进入低功耗模式,配置一些IO为下拉输入模式。
然后应该是到了1mA,准确的应该是980uA,这个时候又去查资料,看到一句关闭ADC。我试了加入
ADC_Cmd(ADC1,DISABLE); // 这个一定要关闭影响很大
果然很明显,一下到了110uA。
这个时候,还是有个问题一直出现,就是到了110uA后,会慢慢回升到180uA,然后左右几uA的变动。