原理图:
我原理图上有一个指示灯,10个按键,一个蓝牙模块。
为了低功耗模式,用一个MOS管切断蓝牙电源。
现在,在切断蓝牙电源的情况下,进入停机模式。
Stop_Mode();
。。。。。。。。。。。。。。。。。。。。。。
void Stop_Mode(void)
{
/*进入low power mode*/
LP_Run_Mode();
RCC->APB1ENR|=1<<28; //使能电源时钟
PWR_VoltageScalingConfig(PWR_VoltageScaling_Range2);//1.5v
PWR->CR &= ~(3<<0); //清除PDDS 和LPDSR
PWR->CR |= 1<<0; //set LPDSR
/* Set SLEEPDEEP bit of Cortex System Control Register */
SCB->SCR |= SCB_SCR_SLEEPDEEP;
RCC->APB1ENR &= ~(1<<28); /*关闭电源时钟*/
__WFI();
/* Reset SLEEPDEEP bit of Cortex System Control Register */
SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP);
}
测电流,大概360多uA的样子。
是不是功耗有点大?
还有,进入低功耗以后,貌似运行频率降低了。
这是怎么回事?谢谢!
|