2019-07-14 18:32发布
TOPCB 发表于 2018-8-16 11:12 配置放在 RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);后面。
最多设置5个标签!
还是不能唤醒。。
void Sys_Enter_Standby(void)
{
while(WK_UP==0); //等待WK_UP按键松开(在有RTC中断时,必须等WK_UP松开再进入待机)
printf("停机,重新配置");
delay_ms(50);
RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);//复位所有IO口
SystemInit();
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); /* 84MHZ*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_SYSCFG, ENABLE);/* 168MHZ */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOA, ENABLE);
KEY_Init(); /* 按键配置 */
EXTI_Configuration(); /* 外部中断配置 */
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟
RTC_ITConfig(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA,DISABLE);//关闭RTC相关中断,可能在RTC实验打开了。
RTC_ClearITPendingBit(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA);//清楚RTC相关中断标志位。
EXTI_ClearITPendingBit(EXTI_Line0);
EXTI_ClearITPendingBit(EXTI_Line13);
EXTI_ClearITPendingBit(EXTI_Line2);
PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFI);
}
一周热门 更多>