这几天需要用到RTC,就使用STM32的RTC,配置按着官方给的例程配置的现在去进不去秒中断为啥呢?
配置代码如下:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP|RCC_APB1Periph_PWR,ENABLE);//使能时钟
PWR_BackupAccessCmd(ENABLE);//使能备份寄存器
BKP_DeInit();//备份寄存器复位
RCC_LSEConfig(RCC_LSE_ON);//开启外部低速时钟
while(!RCC_GetFlagStatus(RCC_FLAG_LSERDY));//等待外部低速时钟起正
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);//选择时钟:为外部低速时钟
RCC_RTCCLKCmd(ENABLE);//使能RTC
RTC_WaitForSynchro();//等待同步
RTC_WaitForLastTask();//等待最后一次操作
RTC_SetPrescaler(32767);//设置时钟分频
RTC_WaitForLastTask();//等待最后一次操作完成
RTC_ITConfig(RTC_IT_SEC,ENABLE);//使能RTC秒中断
RTC_WaitForLastTask();//等待最后一次操作完成
/*******************************/
中断配置
NVIC_InitTypeDef NVIC_init;
RTC_ITConfig(RTC_IT_SEC,ENABLE);
RTC_WaitForLastTask();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_init.NVIC_IRQChannel = RTC_IRQn;
NVIC_init.NVIC_IRQChannelCmd = ENABLE;
NVIC_init.NVIC_IRQChannelPreemptionPriority = 0x00;
NVIC_init.NVIC_IRQChannelSubPriority = 0x01;
NVIC_Init(&NVIC_init);
大神们帮忙看一下,谢谢咯!
|