@@ -119,11 +119,14 @@ SysTime_t SysTimeGet( void )
119119{
120120 SysTime_t calendarTime = { .Seconds = 0 , .SubSeconds = 0 };
121121 SysTime_t sysTime = { .Seconds = 0 , .SubSeconds = 0 };
122- SysTime_t deltaTime ;
122+ uint32_t seconds ;
123+ uint32_t subSeconds ;
123124
124125 calendarTime .Seconds = RtcGetCalendarTime ( ( uint16_t * )& calendarTime .SubSeconds );
125126
126- RtcBkupRead ( & deltaTime .Seconds , ( uint32_t * )& deltaTime .SubSeconds );
127+ RtcBkupRead ( & seconds , & subSeconds );
128+
129+ SysTime_t deltaTime = { .Seconds = seconds , .SubSeconds = ( int16_t )subSeconds };
127130
128131 sysTime = SysTimeAdd ( deltaTime , calendarTime );
129132
@@ -141,18 +144,27 @@ SysTime_t SysTimeGetMcuTime( void )
141144
142145uint32_t SysTimeToMs ( SysTime_t sysTime )
143146{
144- SysTime_t deltaTime ;
145- RtcBkupRead ( & deltaTime .Seconds , ( uint32_t * )& deltaTime .SubSeconds );
147+ uint32_t seconds ;
148+ uint32_t subSeconds ;
149+
150+ RtcBkupRead ( & seconds , & subSeconds );
151+
152+ SysTime_t deltaTime = { .Seconds = seconds , .SubSeconds = ( int16_t )subSeconds };
153+
146154 SysTime_t calendarTime = SysTimeSub ( sysTime , deltaTime );
155+
147156 return calendarTime .Seconds * 1000 + calendarTime .SubSeconds ;
148157}
149158
150159SysTime_t SysTimeFromMs ( uint32_t timeMs )
151160{
152161 uint32_t seconds = timeMs / 1000 ;
153- SysTime_t sysTime = { .Seconds = seconds , .SubSeconds = ( int16_t )( timeMs - seconds * 1000 ) };
154- SysTime_t deltaTime = { 0 };
155- RtcBkupRead ( & deltaTime .Seconds , ( uint32_t * )& deltaTime .SubSeconds );
162+ uint32_t subSeconds = timeMs - seconds * 1000 ;
163+ SysTime_t sysTime = { .Seconds = seconds , .SubSeconds = ( int16_t )subSeconds };
164+
165+ RtcBkupRead ( & seconds , & subSeconds );
166+
167+ SysTime_t deltaTime = { .Seconds = seconds , .SubSeconds = ( int16_t )subSeconds };
156168
157169 return SysTimeAdd ( sysTime , deltaTime );
158170}
0 commit comments