
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hat noch keiner ein ahnung was falsch sein konnte? Benno > Hallo Andre, danke fuer dein Antwort, > > > > Hallo Benno, > > > > Ein kurze Frage: > > Auf welche Adresse hast Du den Uhrenbaustein gelegt ? > > 162 > > > Kurz: Liegt der Pin A0 auch an 5V ? Ansonsten wird es nicht funktionieren. > > Ja > > > Liefert das IC am INT-Ausgang ein 1Hz-Signal ? > > Ja > > > Wenn nicht, hat sich der Uhrenbaustein aufgehängt oder ist defekt. > > Trenne einmal kurz die komplette Versorgung des ICs (auch die gepufferte). > > Gemacht > > > > > > > > sys WrByteBReg,0,0,PCF8583addr 'reset > > > > Hier setzt Du das Control/Statusregister auf 0. > > Das ist soweit richtig, wenn keine Alarm-oder Timerfunktion (z.B. für einen Watchdog) > > genutzt werden soll und ein 32,768kHz Quarz angeschlossen ist. > > > > > datalo=((minute / 10) shl 4) or (minute mod 10) > > > datahi=((hour / 10) shl 4) or (hour mod 10) > > > sys WrWordBReg,data,3,PCF8583addr 'Minuten & Stunden speichern > > > > Das stimmt auch. > > > > > sys WrByteBReg,64,0,PCF8583addr'latch > > > > Hier schreibst Du den Werst 0 in Byte 64 des UhrenRAMs > > Ist das so, ich meinte Werts 64 in register 0 ? > > > > > > sys RdWordBReg,3,PCF8583addr 'read register 3+4 > > > data=pop > > Hier liest Du die Register 3 und 4 aus. > > > > > sys WrByteBReg,0,0,PCF8583addr 'start > > > > Hier schreibst Du wieder den Wert 0 und das Statusregister. > > Das brauchst Du nicht ständig machen, außer, Du willst die Sekunden > > und Minuten-Flags löschen. > > OK > > > > > > > > print "read from register",data > > > > Hier gibst Du den vorher ausgelesenen Wert für das Minuten und Stundenregister aus. > > In Deinem Fall sollte 11271 für die gespeicherte Zeit 7:44 rauskommen. > Wie kommst du an 11271, das programm schreibt 17415 > Raus kommt: data=0 und datalo=0 und datahi ebenfalls =0 > > > Du mußt die gelesenen Daten erst zerlegen, um diese wieder in korrekter Form zu haben: > > > > sys RdWordBReg,3,PCF8583addr 'read register 3+4 > > data=pop > > datalo=(datalo shr 4)*10 + datalo and &hF > > datahi=(datahi shr 4)*10 + datahi and &hF > > print "Minute: ";datalo,"Stunde: ";datahi > > > > > > MfG André H. > Aber wenn ich beim define datalo byte4 und define datahi byte3 bekomme ich fur minute 0 und Stunde = 7 > > Benno |
| Antwort schreiben |