最近搞低功耗,开始用睡眠模式,不太好。
现在在整停机模式。
以前没搞过,所以发帖子询问一下,心里放心。
我程序里这么干的:
初始化:
Stm32_Clock_Init(2);CPU_Init(); //CPU初始化
VAR_Init(); //变量初始化
usart1_init(9600);
NVIC_Init10();
/* Enable PWR and BKP clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
/* Allow access to BKP Domain */
PWR_BackupAccessCmd(ENABLE);
进入停机模式:
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
唤醒时,我这么干:
void EXTI3_IRQHandler(void)
{
long int i;
if(EXTI_GetITStatus(EXTI_Line3)!=RESET) //上升
{
Stm32_Clock_Init(2); //16MHz
GPIO_ResetBits(GPIOA,GPIO_Pin_12); //灯亮
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Stm32_Clock_Init(2); 这个是重新配置时钟。
请问高手,我这么配置是正确的吧?谢谢!
|