cancel
Showing results for 
Search instead for 
Did you mean: 

RTC time greater than 24 hours

AlfRomeo
Associate III

Hello everyone, I am using an internal RTC on STM32L431. After running for 23:59:59 seconds, the time changes to 24:00:00 instead of 00:00:00, and the week day has not been incremented. Why is this?

1 ACCEPTED SOLUTION

Accepted Solutions

I don't know why, but after resetting after a power outage, it improved again. The code did not make any changes, except for performing modulo operations after hour, minute, and second when obtaining the clock. Nothing else has changed. At first, after changing this setting, the problem still persisted and there was no power outage. However, after the power outage, the problem disappeared and I felt very confused

View solution in original post

12 REPLIES 12
Sarra.S
ST Employee

Hello @AlfRomeo

Is the RTC correctly configured to use the 24-hour format? 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

As @Sarra.S said above, you probably have set the RTC inadvertently to 12 hour format, probably because of uninitialized struct when calling Cube/HAL functions setting time.

JW

The format of the hour is still 24 hours, and I haven't changed it

Uwe Bonnes
Principal III

Does the RTC continue with 24:01 ? Otherwise, where is the problem?


@Uwe Bonnes wrote:

Otherwise, where is the problem?


24:00 is never a valid time - it should go from 23:59:59.999 to 00:00


@AlfRomeo wrote:

The format of the hour is still 24 hours, and I haven't changed it


Did you follow @waclawek.jan's link - to details about the issues with uninitialised or incompletely-initialised config structures?

> The format of the hour is still 24 hours, and I haven't changed it

Read out and check/post the RTC registers content.

JW

At the time of debugging, the time continued to run after 24:00:00 seconds and changed to 00:00:00 after 39:59:59 seconds, but the week did not increase

I don't know why, but after resetting after a power outage, it improved again. The code did not make any changes, except for performing modulo operations after hour, minute, and second when obtaining the clock. Nothing else has changed. At first, after changing this setting, the problem still persisted and there was no power outage. However, after the power outage, the problem disappeared and I felt very confused