PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PCF8583P



Scuido
30.07.2008, 09:43
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é

Dirk
31.07.2008, 22:04
Die RTC arbeitet normal.
Was du liest sind wohl BCD-Werte.
Die must du in Dezimalform umwandeln.

Gruß Dirk

Scuido
01.08.2008, 00:41
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é

Dirk
01.08.2008, 17:53
Hallo André,


... aber iwi war ich der meinung das komplette byte einzulesen und somit konnte es auch net funktionieren.

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.

Für Tag, Monat, Jahr usw. muss man aber tatsächlich "maskieren", weil die nicht ein volles Byte belegen.

Gruß Dirk

Scuido
01.08.2008, 20:17
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

Dirk
01.08.2008, 23:38
... das sekundenbyte ist aufgeteilt in, ersten 4 bits 10er sekunden und die zweiten 4 bits einer sekunden.

Ja, wie gesagt: Das nennt man BCD-Code. O:)

Gruß Dirk

Scuido
08.08.2008, 00:28
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é

Dirk
09.08.2008, 17:28
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

Scuido
10.08.2008, 17:18
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