用STM32L151芯片,主时钟使用内部HSI*4/3为12M;RTC使用外部32.768K晶振;使用串口1;RTS、CTS做通用IO口 、PA0输入、PA1输出、PA3输出、还有两个PB口做输出;输出通用IO口都是GPIO_OType_PP,GPIO_PuPd_UP;输入IO口是GPIO_OType_PP,GPIO_PuPd_DOWN;VLCD和VDDA接电源,但LCD和AD转换都不会使用;用TIM2输出一路PWM。
下面是进入低功耗代码:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, DISABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, DISABLE);
//PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);
//PWR_EnterSTANDBYMode();
SetSysClock();
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
工作时工作电流6.6MA,进入停止模式电流2.5MA(远大于资料中10几uA,PWR_Regulator_LowPower和PWR_Regulator_ON差别不大)
进入待机模式0.339MA。
我需要PA1上升和下降唤醒、串口1输入唤醒、和RTC唤醒,待机时要小于200uA,请问香主:
1、进入停止模式串口能否唤醒,是不是直接中断就能唤醒
2、VLCD和VDDA没有使用接电源是否会耗电,管脚是否要悬空
3、上面要求和使用的一些功能进入停止模式是否能做到小于200uA
4、怎样才能让MCU的功耗在停止模式时做到最低
谢谢 |