Bekomme die Uhr mit SysRtcSetTime nicht gestellt

Horschd

Level-1
Beiträge
32
Reaktionspunkte
1
Zuviel Werbung?
-> 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.

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?
 
Hallo Horschd,

versuchs mal mit

Code:
Datum_Zeit := CONCAT('DT#',CONCAT(str_jahr,CONCAT('-', CONCAT(str_Monat, CONCAT('-', CONCAT(str_Tag, CONCAT('-', CONCAT(str_Stunde, CONCAT(':', CONCAT(str_Minute, CONCAT(':', str_Sekunde)))))))))));

oder wenns zu verschachtelt wird einfach:

Datum_Zeit := CONCAT('DT#',str_jahr);
Datum_Zeit := CONCAT(Datum_Zeit,'-');
Datum_Zeit := CONCAT(Datum_Zeit,str_Monat);
Datum_Zeit := CONCAT(Datum_Zeit, '-');
Datum_Zeit := CONCAT(Datum_Zeit,str_Tag);
Datum_Zeit := CONCAT(Datum_Zeit,'-');
Datum_Zeit := CONCAT(Datum_Zeit,str_Stunde);
Datum_Zeit := CONCAT(Datum_Zeit,':');
Datum_Zeit := CONCAT(Datum_Zeit,str_Minute);
Datum_Zeit := CONCAT(Datum_Zeit,':');
Datum_Zeit := CONCAT(Datum_Zeit,str_Sekunde);

Gruß
 
Zurück
Oben