Hallo! Ich bin gerade etwas verwirrt im Bezug auf die Timekeeper Registers des DS1307. Das Register sieht folgend aus: Adress Bit7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 01h | 0 | | 10 Minutes | | Minutes | Wie soll ich das verstehen? Können die Bits 0-3 (Minutes) den Wert 0-9 oder 0-15 annehmen? Und die Bits 6-4 müssen mal 10 genommen werden, oder ist es einfach eine stinknormale binäre Codierung? Gruß Mathias
Wenn ich mich recht erinnere, dann ist es einfach binär (also die Minuten gehen von 0 bis 9). Alles andere macht auch keinen Sinn!
Mathias S. schrieb: > Hallo! > > Ich bin gerade etwas verwirrt im Bezug auf die Timekeeper Registers des > DS1307. > > Das Register sieht folgend aus: > > Adress Bit7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 > 01h | 0 | | 10 Minutes | | Minutes | > > > Wie soll ich das verstehen? Können die Bits 0-3 (Minutes) den Wert 0-9 > oder 0-15 annehmen? Und die Bits 6-4 müssen mal 10 genommen werden, oder > ist es einfach eine stinknormale binäre Codierung? Das ist BCD Stell dir die Zahl als Hex-Zahl vor 0x10 sind 10 Minuten 0x18 sind 18 Minuten 0x45 sind 45 Minuten auf die Art muss man nicht lange rumrechnen, wenn man nur auf eine Ausgabe ausgeben will. Das Byte in seine beiden Nibble zerlegen. Zu jedem Nibble noch '0' addieren und ab gehts an das Terminal. Wenn du rechnen musst: wieder in die Nibbles zerlegen. Minuten = HighNibble * 10 + LowNibble;
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.