From bd1bedbbf7502541cc6cf6b11faedc9acd03228c Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 7 May 2015 12:28:53 +0000 Subject: Fixed bug #591. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7954 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'os/hal/ports/STM32/LLD/RTCv2') diff --git a/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c b/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c index 940abef7e..51ee7c41c 100644 --- a/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +++ b/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c @@ -392,7 +392,7 @@ void rtc_lld_get_time(RTCDriver *rtcp, RTCDateTime *timespec) { /* If the RTC is capable of sub-second counting then the value is normalized in milliseconds and added to the time.*/ #if STM32_RTC_HAS_SUBSECONDS - subs = (((ssr << 16) / STM32_RTC_PRESS_VALUE) * 1000) >> 16; + subs = (((STM32_RTC_PRESS_VALUE - 1U) - ssr) * 1000U) / STM32_RTC_PRESS_VALUE; #else subs = 0; #endif /* STM32_RTC_HAS_SUBSECONDS */ -- cgit v1.2.3