关于STM32战舰开发板待机模式RTC闹钟唤醒的一点总结(提供RTC待机自动唤醒源码)

2019-07-21 03:17发布

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
48条回答
22008wjz
2019-07-22 13:06
把函数改成下面这个样子,好像就可以了,也不明白为什么
void RTC_IRQHandler(void)
{  
        if (RTC_GetITStatus(RTC_IT_SEC) != RESET)//秒钟中断
        {
            static int i=0;
            //LED0=0; //亮灯DS0
            RTC_ClearITPendingBit(RTC_IT_SEC); 
            RTC_Get();//更新时间   

            i++;
            if(i==20)
            {
                RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //使能PWR和BKP外设时钟   
                WR_BackupAccessCmd(ENABLE); //使能后备寄存器访问 
                RTC_WaitForLastTask();
                RTC_EnterConfigMode();
                RTC_SetAlarm(RTC_GetCounter()+8);
                RTC_ExitConfigMode();
                RTC_WaitForLastTask();
                RTC_ITConfig(RTC_IT_ALR, ENABLE);
                RTC_WaitForLastTask();
                Sys_Enter_Standby(); 
                i=0;
             }
        }
        if(RTC_GetITStatus(RTC_IT_ALR)!= RESET)//闹钟中断
        {
            RTC_ClearITPendingBit(RTC_IT_ALR); //清闹钟中断
            WR->CR|=1<<2;
            LCD_ShowString(30,30,200,16,16,"Warship enter alrINT!");       
       }      
RTC_ClearITPendingBit(RTC_IT_SEC|RTC_IT_OW); //清闹钟中断
RTC_WaitForLastTask();                
}
多谢楼主和原子哥的热情帮助啊

一周热门 更多>