RTC(实时时钟)

项目内容
主要功能独立的定时器,为系统提供时钟和日历功能
工作区域处于备份区域,系统复位时数据不清零
供电方式VDD(2.0-3.6V)正常供电,VDD断电后由VBAT(1.8-3.6V)供电继续走时
计数器32位可编程计数器,对应Unix时间戳的秒计数器
预分频器20位可编程预分频器,可适配不同频率的输入时钟
时钟源选择HSE时钟除以128(通常为8MHz/128)
LSE振荡器时钟(通常为32.768KHz)
LSI振荡器时钟(40KHz)

RTC使用方法

操作函数说明
配置RTC时钟源RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE)选择LSE作为RTC时钟源
使能RTC时钟RCC_RTCCLKCmd(ENABLE)启动RTC时钟
等待同步RTC_WaitForSynchro()等待RTC寄存器同步
设置预分频器RTC_SetPrescaler(32768 - 1)设置RTC预分频,使计数频率为1Hz
设置时间RTC_SetCounter(time_cnt)将时间戳写入RTC计数器
读取时间RTC_GetCounter()读取当前时间戳
设置闹钟RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &alarm)配置RTC闹钟
使能闹钟中断RTC_ITConfig(RTC_IT_ALRA, ENABLE)启用RTC闹钟中断