-> Hier kostenlos registrieren
Hallo zusammen,
ich versuche gerade in einem Display die Uhr mit der Funktion SysRtcSetTime die RTC zu stellen.
Die Funktion wird für einen Zyklus aufgerufen. Der Rückgabewert wird zwar True, aber die Uhr verändert ihren Wert nicht.
Die Uhr wird zyklisch mit SysRtcGetTime ausgelesen und beginnt mit 1970-01-01-00:00:00. Die Uhr zählt normal im Sekundentakt hoch.
Wennich jetzt die SysRtcSetTime Funktion aufrufe wird die Uhr erneut mit 1970-01-01-00:00:00 ausgelesen,
unabhängig von der Uhrzeit, die sie schon ereicht hat, oder von der Uhrzeit die ich einstellen wollte.
Wo liegt mein Fehler?
ich versuche gerade in einem Display die Uhr mit der Funktion SysRtcSetTime die RTC zu stellen.
Die Funktion wird für einen Zyklus aufgerufen. Der Rückgabewert wird zwar True, aber die Uhr verändert ihren Wert nicht.
Die Uhr wird zyklisch mit SysRtcGetTime ausgelesen und beginnt mit 1970-01-01-00:00:00. Die Uhr zählt normal im Sekundentakt hoch.
Wennich jetzt die SysRtcSetTime Funktion aufrufe wird die Uhr erneut mit 1970-01-01-00:00:00 ausgelesen,
unabhängig von der Uhrzeit, die sie schon ereicht hat, oder von der Uhrzeit die ich einstellen wollte.
Code:
IF init_UHR THEN
str_Tag := UINT_TO_STRING(Tag_init);
str_Monat:= UINT_TO_STRING(Monat_init);
str_Jahr := WORD_TO_STRING(Jahr_init);
str_Stunde:= UINT_TO_STRING(Stunde_init);
str_Minute:= UINT_TO_STRING(Minute_init);
str_Sekunde:= UINT_TO_STRING(Sekunde_init);
Datum_Zeit := CONCAT(str_jahr,CONCAT('-', CONCAT(str_Monat, CONCAT('-', CONCAT(str_Tag, CONCAT('-', CONCAT(str_Stunde, CONCAT(':', CONCAT(str_Minute, CONCAT(':', str_Sekunde))))))))));
result := SysRtcSetTime(ActDateAndTime:=STRING_TO_DT(Datum_Zeit));
init_UHR := FALSE;
END_IF;
Wo liegt mein Fehler?