Hallo, ich schreibe mir gerade eine Lib für die DS1302-RTC und bekomme ums verrecken das hours-Register nicht richtig ausgelesen. Alles Andere funktioniert. Ich verwende die RTC im 24h-Modus und mir erschließt sich nicht, welche Wertigkeit Bit 5 hat. Ich habe schon mehrere Möglichkeiten ausprobiert und lese entweder immer nur 21 Uhr aus oder Werte >24. Im Datenblatt (Seite 6) steht: "In the 24-hour mode, bit 5 is the second 10-hour bit (20–23 hours)". Warum genau "second 10-hour bit"? Im Datenblatt steht doch, dass im 24h-Modus nur Bit 5 die Wertigkeit 10(dec) besitzt?! Wär klasse, wenn jemand mir das erläutern könnte, welche Wertigkeiten(dec) die Bits 5 bis 0 haben. Besten Dank!
Varadero schrieb: > ... Ich verwende die RTC im 24h-Modus und mir erschließt sich > nicht, welche Wertigkeit Bit 5 hat. Ich habe schon mehrere Möglichkeiten > ausprobiert und lese entweder immer nur 21 Uhr aus oder Werte >24. Im > Datenblatt (Seite 6) steht: "In the 24-hour mode, bit 5 is the second > 10-hour bit (20–23 hours)". Warum genau "second 10-hour bit"? Im > Datenblatt steht doch, dass im 24h-Modus nur Bit 5 die Wertigkeit > 10(dec) besitzt?! > > Wär klasse, wenn jemand mir das erläutern könnte, welche > Wertigkeiten(dec) die Bits 5 bis 0 haben. > > Besten Dank! Das das BCD-Darstellung (binary coded decimal) ist, ist dir klar?
Hiho, Das Stunden-Register ist in 2 Nibble (Halfbytes) aufgeteilt. Also Einerstellen Bit 3-0, Zehenstellen Bit 7-4. Im 12h Modus braust du Bit 5 ja nicht, daher AM/PM 12 Uhr wäre dann b0001-0010 NICHT!!! b0000-1100 19 Uhr wäre dann b0011-1001 Die erste 1 ist nur der AM/PM Status ;) 10 Uhr wäre dann b0001-0000 NICHT!!! b0000-1010 Die verwenden jeweils 4 bit für Einer- und Zehnerstellen. Ich glaube BCD Code funktioniert genauso. Im 24H-Modus wäre 23 Uhr dann b0010-0011 Weil 0010 = 2 und 0011 = 3 Für 12H-Modus brauchst du ja nur Bit 4 weil du nie über 19 kommst und da wird Bit 5 dann nur als Status benutzt. Schau dir mal BCD-Zahle an, dann kommst du drauf ;) Achja, erster Absatz zu: CLOCK/CALENDAR The time and calendar information is obtained by reading the appropriate register bytes. Table 3 illustrates the RTC registers. The time and calendar are set or initialized by writing the appropriate register bytes. The contents of the time and calendar registers are in the binary-coded decimal (BCD) format. Gruß, Michi (:
:
Bearbeitet durch User
Dankeschön für die tolle Erklärung! Das mit der BCD-Codierung war mir bewusst, ich habe nur halt nicht die Aufteilung für das hour-Register kapiert. Der Rest läuft ja. Hatte auch noch obendrein eine falsche Adresse ausgerechnet. Jetzt kann ich schreiben aber die Werte stimmen noch nicht richtig. Heute komme ich da nicht mehr hinter, aber morgen wird's dann klappen. Vielen Dank!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.