RTCのクロック源はLSEであり、32.768KHzである。1カウント1秒になるようなRTCを得るためには1/32768に分周する必要があるので、この関数で分周率を設定する。
RTCがカウントするのはプリスケーラがオーバーフローした時であるので、分周比から1を引いた値を設定する。つまり、32767 = 32768 - 1 である。
void RTC_SetPrescaler(uint32_t PrescalerValue )
/* Set RTC prescaler: set RTC period to 1sec */ RTC_SetPrescaler(32767); /* RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */ /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask();