Forum: Mikrocontroller und Digitale Elektronik RTC PCF2129: Peripherie bleibt nach dem Setzen der Zeit stehen


von Matthias (Gast)


Lesenswert?

Hallo zusammen

Ich betreibe einen PCF2129 per I2C an einem LPC1114. Ich kann die RTC 
initialisieren und auch Zeit und Datum auslesen. Wenn ich jedoch einen 
neuen Zeitpunkt reinschreibe, dann ist sie danach nicht mehr per I2C 
ansprechbar, und auch der Clock-Ausgang gibt keinen Takt mehr aus.
Wenn ich dann das ganze Gerät neustarte (sprich: vom Strom trenne und 
wieder anschliesse und somit auch die RTC neu initialisiere), dann wird 
die von mir vorher gesetzte Zeit korrekt ausgelesen. Die Uhr bekommt die 
Zeit also und zählt sie auch weiter korrekt hoch (ich habe dafür eine 
Pufferbatterie).
Kennt jemand dieses Phänomen und weiss vielleicht sogar woran das liegen 
könnte?

Grüsse
Matthias


P.S.: Um die Zeit zu setzen schreibe Ich folgende Daten (neun Byte) per 
I2C auf die RTC:
1
I2CMasterBuffer[0] = (0x51<<1); //adresse pcf2129
2
I2CMasterBuffer[1] = 0x03; // register-adresse sekunden
3
I2CMasterBuffer[2] = rtcDecToBCD(timeUTC->tm_sec) & 0x7F;
4
I2CMasterBuffer[3] = rtcDecToBCD(timeUTC->tm_min);
5
I2CMasterBuffer[4] = rtcDecToBCD(timeUTC->tm_hour);
6
I2CMasterBuffer[5] = rtcDecToBCD(timeUTC->tm_mday);
7
I2CMasterBuffer[6] = rtcDecToBCD(timeUTC->tm_wday);
8
I2CMasterBuffer[7] = rtcDecToBCD(timeUTC->tm_mon);
9
I2CMasterBuffer[8] = rtcDecToBCD(timeUTC->tm_year - 100);

von Mick (Gast)


Lesenswert?

Evtl. hilft dir das hier weiter: https://community.nxp.com/thread/433786

von Matthias (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort (und sorry für meine langsame 
Reaktion darauf ;-) ).

Der verlinkte Thread hat mir leider nicht weitergeholfen, auch wenn es 
mir noch einige Denkanstösse gab.
Der I2C-Bus funktioniert bei mir ja, das Initialisieren und Lesen 
funktioniert so wie es soll. Es hängt auch noch ein Display an demselben 
Bus, und dieses funktioniert auch wie es soll.
Das Stehenbleiben des Interfaces des PCF2129 geschieht auch unabhängig 
davon ob die Pufferbatterie vorhanden ist oder nicht.

von tobias (Gast)


Lesenswert?

Hi Matthias, Auch bei mir bleibt dieses Teil stehen. Hast du schon eine 
Lösung gefunden? Danke vielmal und Gruss, Tobias

von Matthias (Gast)


Lesenswert?

Hallo tobias

Leider nein. Ich habe dann auch mal noch versucht nach dem Setzen der 
Zeit der RTC die Speisung zu kappen und danach neu zu initialisieren. 
Das hat aber auch nicht geklappt. Das war aber auch nur ein kleiner 
Versuch auf die Schnelle, vielleicht hatte ich da auch noch was 
übersehen oder so.
Die letzten Monate habe ich nichts mehr daran gemacht, ich müsste es 
eigentlich wieder mal in Angriff nehmen.

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
Noch kein Account? Hier anmelden.