Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Ich komme nicht weiter Kategorie: C-Control I V1.1 (von André H. - 30.12.2005 12:39)
 Als Antwort auf Ich komme nicht weiter von Benno - 29.12.2005 10:35
André H. nutzt:  CC1-Unit V1.1, Advanced CC1-Unit, CC1-M-Unit V1.2/2.0, Micro, Open-Micro, Open-Mini
Hallo Benno,

Ein kurze Frage:
Auf welche Adresse hast Du den Uhrenbaustein gelegt ?
Kurz: Liegt der Pin A0 auch an 5V ? Ansonsten wird es nicht funktionieren.
Liefert das IC am INT-Ausgang ein 1Hz-Signal ?
Wenn nicht, hat sich der Uhrenbaustein aufgehängt oder ist defekt.
Trenne einmal kurz die komplette Versorgung des ICs (auch die gepufferte).


> 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

>    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.


>   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.
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.

 Antwort schreiben

Bisherige Antworten:

Re: Ich komme nicht weiter (von Benno - 31.12.2005 1:41)
    Re: Ich komme nicht weiter (von Benno - 12.01.2006 22:06)