mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS1302 hour-Register


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Varadero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Micha W. (blackxiiv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
Autor: Varadero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.