关于待机模式的一点问题

2019-10-15 03:00发布

#include "delay.h"
#include "usart.h"
#include "sys.h"
#include "low.h"

int main(void)
{        
    uint8_t i;
    
    Stm32_Clock_Init(9);//系统时钟设置    
    delay_init(72);          //延时初始化
    gpio_init();    //low初始化
    while(1)
    {
        for(i=0;i<10;i++)
        {
            led=~led;
            delay_ms(500);
        }
        Sys_Standby();
    }
}
#include "low.h"

void gpio_init()
{
    RCC->APB2ENR|=(1<<5);      //使能GPIOD的时钟  led
    
    GPIOD->CRL&=0XFFFFF0FF;    
    GPIOD->CRL|=0X00000300;
    GPIOD->ODR|=0XFFFF;
    GPIOD->ODR&=0XFFFB;
        RCC->APB2ENR|=1<<2;     //先使能外设IO PORTA时钟    
//    RCC->APB2ENR|=1<<0;     //开启辅助时钟          
     
    GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入      
    GPIOA->CRL|=0X00000008;  
    Ex_NVIC_Config(GPIO_A,0,RTIR);//PA0上升沿触发       
                                                                 
    MY_NVIC_Init(2,2,EXTI0_IRQn,2);//抢占2,子优先级2,组2
}
void Sys_Enter_Standby()                //进入待机模式
{
  RCC->APB2RSTR|=0X01FC;     //复位所有IO口
    Sys_Standby();                            //待机模式
}
void EXTI0_IRQHandler(void)
{                                                          
    EXTI->R=1<<0;  //清除LINE10上的中断标志位          
}

为什么进入待机模式,就出不来了?求教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。