低功耗唤醒不了

2019-08-17 07:50发布

不懂就要问,搞了1天了,执行WFI指令后,不是说好的任意外部中断都可以唤醒么?怎么唤不醒啊。。。代码如下:(使用的LL库函数)
__asm void WFI_SET(void)
{

        WFI;                  
}


void Low_Power_Mode_On(void)
{       
        WFI_SET();

}

//PC13
void Acc_Signal_Init(void)
{
        LL_GPIO_InitTypeDef GPIO_InitStructure;
        LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOC);
       
        GPIO_InitStructure.Pin                                         = LL_GPIO_PIN_13;
        GPIO_InitStructure.Mode                                = LL_GPIO_MODE_INPUT;
        GPIO_InitStructure.Speed                                = LL_GPIO_SPEED_FREQ_HIGH;
        GPIO_InitStructure.OutputType                   = LL_GPIO_OUTPUT_PUSHPULL;
        GPIO_InitStructure.Pull                                        = LL_GPIO_PULL_NO;
        LL_GPIO_Init(GPIOC, &GPIO_InitStructure);
}

void ACC_Exti_Init(void)
{
        LL_EXTI_InitTypeDef EXTI_InitStructure;
        LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SYSCFG);
        SYSCFG->EXTICR[3] |= 2 << 4;                //PC --EXTI13
       
        EXTI_InitStructure.Line_0_31                 = LL_EXTI_LINE_13;
        EXTI_InitStructure.LineCommand         = ENABLE;
        EXTI_InitStructure.Mode                                 = LL_EXTI_MODE_IT;
        EXTI_InitStructure.Trigger                         = LL_EXTI_TRIGGER_RISING;
       
        LL_EXTI_Init(&EXTI_InitStructure);
       
        LL_EXTI_EnableIT_0_31(LL_EXTI_LINE_13);     //IMR寄存器  开放来自13的中断请求
        LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_13);  //RTSR寄存器 上升沿选择触发

        NVIC_SetPriority(EXTI4_15_IRQn, 0);
        NVIC_EnableIRQ(EXTI4_15_IRQn);
       
}


void EXTI4_15_IRQHandler(void)
{
   if (LL_EXTI_IsActiveFlag_0_31(LL_EXTI_LINE_13) == 1)
        {
                LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_13);

        }
}

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