diff --git a/drv/bkp.c b/drv/bkp.c index 69630b9..798d9e5 100644 --- a/drv/bkp.c +++ b/drv/bkp.c @@ -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; }