RTC在配置时间后,调用RTC_WaitForLastTask(),程序卡死。造成这种问题的原因是RTC配置完成后,系统会关闭BKP的时钟,并锁死BKP。置时钟的话,必需允许PWR和BKP时钟,并允许读取BKP。代码如下:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
/* Allow access to BKP Domain */
PWR_BackupAccessCmd(ENABLE);
/* Wait until last write operation on RTC registers has finished */
RTC_WaitForLastTask();
RTC_SetCounter((u32) t);
|