Re: Probleme PCF8583.c2 Kategorie: Programmierung (von André H. - 12.03.2003 21:25) | |
Als Antwort auf Probleme PCF8583.c2 von Milf - 12.03.2003 16:47
| |
Hallo Milf, Da hat sich ein klitzekleiner Fehler in meinem Modul eingeschlichen. Allerdings war mir dieser bis jetzt nicht aufgefallen, da normal die Chance ca. 1:60 steht, da� genau dieser Fehler auftritt. Korrekt mu� die Funktion so lauten: /**Datum/Uhrzeit des PCF8583 mit CC2-Zeit setzen*******************/ function syncpcf() {system.TIME time; byte second; second=system.second(); do { yield; system.gettime(time); } while second == time.second; setTime(time); setDate(system.year(), system.month(), system.day(), system.dow()); } Ich werde das Modul entsprechend korregieren. . Die Schleife hat den Sinn, das zum Sekundenwechsel der PCF8583 gestellt wird. Es kann sonst sein, da� der Uhrenbaustein z.B. 0,99 sek. nach geht. MfG André H. > Hallo, > habe an meiner CC II-Station Probleme beim Schreiben der Uhrzeit in den I²C-PCF8583. > Die erste Initialisierung klappt aber beim nächsten Synchronisieren, nach einer Stunde, > stimmt das Datum aber es steht Müll in den Adressen 0x01 bis 0x04 sowie in den > Variablen time.hour,minute,second. > Erst nachdem ich ein weiteres einlesen "system.gettime(time)" eingefügt hatte > funktionierte es. > Kann mir jemand die while-Schleife erläutern ? Was steht > beim Vergleich in der Variablen time.second, sie ist doch garnicht zugewiesen oder? > > MfG Milf. > > > Die modifizierte Quelle: > /**Datum/Uhrzeit des PCF8583 mit CC2-Zeit setzen*******************/ > function syncpcf() > {system.TIME time; byte second;string st; int zwtest; > second=system.second(); > while second == time.second //?was steht in time.second ? > { > yield; > system.gettime(time); > } > system.gettime(time);//**zusätzlich eingefügt 12.02.03 > setTime(time); > setDate(system.year(), system.month(), system.day(), system.dow()); > } > Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: |