hi, ich hab 2 fragen zur I2C Uhr PCF8583. ich habe das ganze schon soweit am laufen, das ich auch die uhrzeit stellen kann. erwische ich allerdings einen ungünstigen moment, so scheint es mir, zählt der Sekunden Zähler nach 60 weiter bis er bei 99 den übertrag macht und wieder bei 0 anfäng. dabei erhöht er dann auch "ordnungsgemäß" die minutenzahl. Wie kann ich umgehen? (nein, nicht das erhöhen der minuten, das über 60 zählen ist gemeint :) Beim Stellen Stoppe ich die uhr, übertrage die Bytes einzeln und starte sie wieder. Und noch eine frage: Welchen wert muss ich zB am Montag in den Wochentag-zähler schreiben? Völlig egal, weil der chip darauf ehh nicht achtet? fäng die woche bei philips am Sonntag an oder ist Montag der erste Wochentag bei denen? hoffe mir wird geholfen, den achja: Ich habe das datenblatt ausgiebig durchsucht und habe dennoch nicht die antworten gefunden. :(
Hallo, ich bin auch dabei, eine I2C-Uhr zu implementieren (allerdings den PCF8563, wegen den Schaltjahren). Und erst noch beim Loeten/Dattenblaetter lesen. Das mit den 99 Sekunden ist mir komisch, hoffe, dass ich das Problem nie bekomme :) Aber der Montag ist amerikanisch der 2. Tag der Woche. Das steht z.B. in der Application Note zu den RTCs von Philips. Vielleicht auch 'nen Reinschau wert? http://www.semiconductors.philips.com/acrobat/applicationnotes/AN_pcf8563-73-83-93_real_time_clock.pdf
Hey danke für das appNote und die info, das hilft schonmal! hab mich von den alarmzeiten wieder abgewand, weil nix funktionierte... das blatt sollte aber helfen. Tja, mit den 99 Sekunden: wenn ich die uhr anhalte, den wert einspeichere und dann per resettaster die ganze schaltung (ausser Uhr) zurücksetze wird die uhr von meinem avr neu initialisiert und auch wieder gestartet. das hilft dagegen wohl. aber toll ist es nicht. die schaltjahre kann der pcf8583 auch ab. die kommen alle 4 jahre vor. und da der chip nur 2 bits für das jahr verwendet muss man alle 4 jahre eine Versatz auf die jahreszahl rechnen (leider lästig). Die Tageszähler berücksichtigen das schaltjahr auch (Februar mit 29 Tagen nur wenn Jahreszähler = 0) Hab den gewählt, weil ich nur diesen kannte, und nun kommt mir der Interne eeprom zugute...
> achja: Ich habe das datenblatt ausgiebig durchsucht und habe dennoch > nicht die antworten gefunden. Wirklich? 7.11 Initialization [...] It is recommended to set the stop counting flag of the control/status register before loading the actual time into the counters. Loading of illegal states may lead to a temporary clock malfunction. (Hab's noch nicht probiert, aber habe den Chip auch hier rumliegen, daher interessiert mich das schon.)
(ich muss mich ja nich rechtfertigen, aber...) ...ich hab die uhr ja gestoppt vor dem einschreiben der werte. und das die einzuschreibenen werte richtig wahren bin ich mir recht sicher. Aber gerne werd ich´s nochmal probieren. wo es doch jetz in mode gekommen ist immer auf das datenblatt und google zu verweisen.
> ...ich hab die uhr ja gestoppt vor dem einschreiben der werte.
Hmm, ja, das lese ich jetzt auch eben nochmal. Allerdings verstehe
ich dann das ,,erwische ich einen ungünstigen Moment'' nicht. Wenn
die Uhr gestopt ist, sollte der Moment doch egal sein.
ja, aber mal zählt er weiter (nach 59), mal nicht... aber ich probiere das nochmal aus. da bin ich dochmal gespannt. scheint als wenn das starten nach dem einschreiben des wertes zu früh ist.
Hmpf, jetzt habe ich aus Versehen den alten Kommentar nochmal abgeschickt. :( Nee, so recht verstehe ich das dann aber auch nicht. Das Datenblatt erwähnt auch nicht die Möglichkeit, daß diese Zähler über 59 hinaus arbeiten könnten. Denke mal eher andersrum: nach dem Stoppen noch einen Moment warten.
programmiere gerade mein menue, darüber will ich die uhrzeit auch stellen können. mal gucken wie ich das mache, dann werd ich´s nochmal probieren. und natürlich hier berichten
>und natürlich hier berichten
vielleicht auch mit Code?
ich hab´s grad nochmal unter die lupe genommen und ausprobiert: warscheinlich glaubt mir jetz keiner mehr :) aber ich hab´s nich auf die reihe bekommen, den fehler mit dem über 59 zählen zu provozieren... wer weiss warum.. naja hat ja auch was gutes, eine sache weniger um die ich mich kümmern muss. i2c code meinst du? oder den wie ich die uhr ansteuere? das kann ich wohl auszugsweise aber das wird dir nich viel sagen, so wie das ganze in mein gesammtes projekt materialisiert ist. :) (jaaa bald hab ich´s geschaft! mein erstes projekt: eine Heizungssteuerung mit nun 1525 Befehlswörtern... und sie läuft!)
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.