Die RTC arbeitet normal.
Was du liest sind wohl BCD-Werte.
Die must du in Dezimalform umwandeln.
Gruß Dirk
hallo an alle,
ich habe im forum gesucht und leider nix zu meinem Problem gefunden.
die uhr läuft "super" das einzige problem was ich habe ist, dass sie nicht normal bis 59 zählt sondern bis 89. es sind 60 sekunden die er abläuft, er überspringt aber immer genau 7 sek (nach 10sek).
bin echt ratlos.
habe die uhr gestoppt, dann zeiten geladen und wieder gestartet. anschließend in einer endlosschleife abgefragt (alle 500ms) und aufm display ausgegeben. zusätzlich noch über leds damit ich sehe das die umrechnung keine fehler macht.
gruß
André
Die RTC arbeitet normal.
Was du liest sind wohl BCD-Werte.
Die must du in Dezimalform umwandeln.
Gruß Dirk
hey,
danke für deine anwort habe den fehler schon gefunden. ich weiß net wie ich drauf kam, aber iwi war ich der meinung das komplette byte einzulesen und somit konnte es auch net funktionieren.
gruß
André
Hallo André,
Für die Sekunden muss man ja auch das "ganze" Byte auslesen. Daran kann es also nicht gelegen haben, wenn die Sekunden bis 89 zählen.... aber iwi war ich der meinung das komplette byte einzulesen und somit konnte es auch net funktionieren.
Für Tag, Monat, Jahr usw. muss man aber tatsächlich "maskieren", weil die nicht ein volles Byte belegen.
Gruß Dirk
hey,
das sekundenbyte ist aufgeteilt in, ersten 4 bits 10er sekunden und die zweiten 4 bits einer sekunden. man muss es also auch aufteilen, würde ich mal so behaupten. ich habe es maskiert und dann lief es
Gruß
Andre
Ja, wie gesagt: Das nennt man BCD-Code.... das sekundenbyte ist aufgeteilt in, ersten 4 bits 10er sekunden und die zweiten 4 bits einer sekunden.
Gruß Dirk
hey, hast gewonnen .
habe nochmal sone frage. wie ist das, wenn man andere ic's an den I²C bus hängt.
mein prob ist, die chipkarte 0xA0 "stört" meine RTC 0xA2. wie man sieht haben sie verschiedene adressen. wenn ich nun aber die chipkarte einschiebe zeigt das display "zahlenmüll" an. andersrum stört es aber nicht(das kartenlesen). das komische ist nur, wenn ich sie wieder rausziehe geht die anzeige wieder ganz normal. die uhr läuft trotz der störung aber normal weiter und springt zum reellen wert.
ist etwas merkwürdig
habe mir 4,7k pullup gegönnt.
am bus hängen ein eeprom, chipkartenleser und die rtc
gruß
André
Hallo André,
ich glaube nicht, dass es da einen I2C-Bus-Konflikt gibt. Aber man weiss ja nie ...
Eher gibt es einen Konflikt zwischen der LCD-Ausgabe und dem Chipkarten-Modul.
Test: Nimm die RTC vom Bus runter und gib auf dem LCD einfach nur eine Zahl aus, die ständig um 1 erhöht wird, oder irgendeinen Text.
Wenn die Ausgabe auch durch das Chip-Modul gestört wird, lags daran.
Gruß Dirk
hey,
also... habe nen counter auf beiden zeilen ausgegeben und dann die chipkarte in die aufnahme gesteckt und leider ist er normal weitergelaufen. :'(
das merkwürdige ist ja, dass die rtc normal weiter läuft nur die anzeige ist spinnt dann und die uhrzeit. die formatierung bleibt erhalten. also 00:00:00 und er zählt auch aber halt nur
0 2 4 6 8 0 2 4 6 8 20 22 24 26 26 20 22 24 28 40....
also er lässt zahlen aus und zeigt die ungeraden zehner nicht an. wenn die karte raus ist springt er zu richtigen anzeige, die auch noch mit der richtigen uhrzeit übereinstimmt.
gruß
andre
Lesezeichen