打开电源管理和备份寄存器时钟。在RCC配置中打开RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP,ENABLE)。
使能RTC和备份寄存器的访问(复位默认关闭)。通过PWR_BackupAccessCmd(ENABLE)使能RTC和备份寄存器的访问。
检查电池是否断电过(是否RTC初始化过)。通过往备份域寄存器中写一个特殊的字符(0xA5A5),备份域寄存器是和RTC一起在断电下能保存数据的。
如果RTC没有初始化过,那么可以通过设置RTC预分频模块和可编程计数器来配置系统当前的时间和日期。RTC由一组可编程计数器组成,分成两个模块。第一个模块是RTC的预分频模块,它可编程产生最长为1秒的RTC时间基准TR_CLK。第二个模块是一个32位的可编程计数器,可被初始化为当前的系统时间。 |