Fix rtc prescaler computation

This commit is contained in:
Steins7 2024-09-01 19:32:38 +02:00
parent 6ab59f1545
commit 92085aabb0

View File

@ -122,19 +122,19 @@ uint32_t compute_prescaler(uint32_t period_ms, enum BkpRtcClockSrc clock_src)
switch (clock_src) {
case BKP_RTC_CLOCK_SRC_LSE:
prescaler = 32768000; //32.768kHz
prescaler = 32768; //32.768kHz
break;
case BKP_RTC_CLOCK_SRC_LSI:
prescaler = 40000000; //40khz
prescaler = 40000; //40khz
break;
case BKP_RTC_CLOCK_SRC_HSE:
prescaler = 62500000; //8Mhz / 128
prescaler = 62500; //8Mhz / 128
break;
default:
return 0;
}
return prescaler / period_ms;
return (period_ms * prescaler) / 1000;
}