Probleme mit der RTC

Die Nachfolgemodelle des (C)FX. (Ohne CAS)

Probleme mit der RTC

Beitragvon Jimboom » Fr 12. Mär 2010, 20:54

Ich möchte in einem meiner Spiele die Zeit ausgeben, wie lange man es benutzt hat. Da es eine Speicher- und Ladefunktion gibt, muss die Zeit dabei mit abgespeichert werden. Ich wollte das mit Revolution FX 1.0 und der RTC machen. Ich kriegs aber nicht hin, die Uhr einzustellen. Ich müsste sie am Anfang auf 0 stellen, beim Speichern die Zeit mit angeben und beim Laden eben auch wieder Laden. Nur wenn ich versuche mittels RTCReset(); oder über RTCSetMinute(0, 0); die Uhr zurückzusetzen passiert einfach nichts.
Kann mir einer helfen?

MfG
Jimboom
Jimboom
 
Beiträge: 2
Registriert: So 31. Jan 2010, 22:03
Taschenrechner: fx 9860 GII SD
fx 9750G PLUS

Re: Probleme mit der RTC

Beitragvon SimonLothar » Sa 13. Mär 2010, 02:07

Zunächst braucht man etwas wie SYSCALLS.SRC in: viewtopic.php?p=21817#p21817
mit den SYSCALL-Deklarationen

Code: Alles auswählen
   SYSCALL 023E,   _RTC_SetDateTime
   SYSCALL 003B,   _RTC_GetTicks

Die zugehörigen Interfaces sind

Code: Alles auswählen
void RTC_SetDateTime( unsigned char*timestr );
unsigned int RTC_GetTicks();

RTC_GetTicks gibt die Zeit in 1/64 s zurück. Diese Funktion würde für Dein Problem ausreichen.
Ich habe aber manchmal bei neuen fx-9860 erlebt, dass eine uninitialisierte RTC überhaupt nicht läuft.
Also ist es immer besser, einmalig eine gültige Zeit mit RTC_SetDateTime zu setzen.

RTC_SetDateTime benötigt als Argument einen String der Form

timestr[0] und timestr[1]: jahr in BCD (z. B. 0x20 0x08)
timestr[2]: Monat in BCD (z. B. 0x03)
timestr[3]: Tag in BCD (z. B. 0x02)
timestr[4]: Stunde in BCD (z. B. 0x19)
timestr[5]: Minute in BCD (z. B. 0x47)
timestr[6]: Sekunde in BCD (z. B. 0x03)

würde die Uhr auf 2.3.2008 19:47:03 setzen
SimonLothar
 
Beiträge: 67
Registriert: Mi 27. Mai 2009, 11:51
Taschenrechner: fx-9860G, fx-9860G slim, fx-9860G SD, fx-9860GII SD, fx-9750GII


Zurück zu fx-9860 G / GII / SD / Slim, fx-9750 GII, fx-7400 GII

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast