使用HSE 16分频作为RTC时钟源。
RTC时钟要求提供1HZ的时钟,HSE配置为RTC时钟源, 主要配置系统时钟, 使能HSE。然后设置好HSE分频、RTC_PRER分频寄存器的值。计算如下:
STM32F7xx的可编程预分配器(RTC_PRER)分为2个部分:
1.通过RTC_PRER寄存器的PREDIV_A位配置的7位异步预分频器。
2.通过RTC_PRER寄存器的PREDIV_S位配置的15位同步预分频器。
RTC_1HZ的时钟可由如下计算公式计算:
RTCCLK=HSE_CLK/RCC_RTCCLKSOURCE_HSE_DIV16; //此处使用外部晶振为16M, RTC时钟选择16分频
RTC_1HZ=RTCCLK/[(PREDIV_S+1)*(PREDIV_A+1)]
LSE/LSI配置为RTC时钟时同理,配置系统时钟, 使能LSE/LSI。设置好RTC_PRER分频寄存器的值.
设置HSE 16分频为RTC时钟:
写入RTC_PRER寄存器值: