STM32F030K6 低功耗待机模式,唤醒不了

2019-08-14 18:15发布

大神们,我请教一个问题,我用STM32F030K6 这个芯片做一个低功耗(待机模式)的程序,用的PA0作为唤醒脚,然后遇到的问题是:1、在程序中,直接调用库函数“PWR_EnterSTANDBYMode();”进入待机模式,可以进去,但是功耗会比较大,有200多ua,然后在网上看,貌似都是得使能PWR时钟的
2、然后我在进入待机模式之前添加“ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);”这个函数(使能PWR时钟),功耗是降了不少,在50ua左右,但是问题来了,进入待机之后,就唤醒不了,用电表去测按下按键PA0也是有高电位的,进入待机模式之前也是有把PA0配置为输入模式的。


    这里很是不解,希望大家给下意见!!
[mw_shl_code=applescript,true]
void EXTI_Key_Init(void)
{

         GPIO_InitTypeDef GPIO_InitStruct;
         EXTI_InitTypeDef EXTI_InitStruct;
         NVIC_InitTypeDef NVIC_InitStruct;

         RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
                                               
                                               
         GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
         GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
         GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_2;
         GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_DOWN;
         GPIO_Init(GPIOA, &GPIO_InitStruct);

         SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);

                                               
         EXTI_ClearITPendingBit(EXTI_Line0);

                                               
         EXTI_InitStruct.EXTI_Line = EXTI_Line0;
         EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
         EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising;
         EXTI_InitStruct.EXTI_LineCmd = ENABLE;
         EXTI_Init(&EXTI_InitStruct);

         NVIC_InitStruct.NVIC_IRQChannel = EXTI0_1_IRQn;
         NVIC_InitStruct.NVIC_IRQChannelPriority = 0;
         NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
         NVIC_Init(&NVIC_InitStruct);
//         
//        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
       
         A:       
       
         if (CHECK_EXTI() == 0)
         {
                 LowPower();
         }
         
        if (!SYSTEM_FLAG)
        {         
                goto A;
        }
       
}[/mw_shl_code]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。