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 Benno - 31.12.2005 1:41)
 Als Antwort auf Re: Ich komme nicht weiter von André H. - 30.12.2005 12:39
Benno nutzt:  CC1-M-Unit V1.1
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

Bisherige Antworten:

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