Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: pcf-uhr-watchdog-falsche Antwort Kategorie: Programmierung (von Hans-Jürgen - 14.08.2005 9:13)
Als Antwort auf Re: pcf-uhr-watchdog-falsche Antwort von JörgC - 10.08.2005 9:21
Ich nutze:
C-Control II Unit, CC2-Application-Board, eigenes Board, OSOPT V3.0
Hallo Jörg, danke für Deine Antwort. Es funktioniert! Mir ist noch was aufgefallen: Wird im init Befehl
Watchdog Timeout auf 0 gesetzt gibt es ein Problem. Ich habe im Beitrag Nr.10737 genau dieses
Problem auch gefunden. Die Lösung habe ich unten im Code eingefügt:
else i2c.stop();
Ich überlege noch wie ich zwischen reset und Stromausfall unterscheiden könnte.Ich denke ich schreibe
die Uhrzeit ständig in eine Variable des Uhrenbausteins. Ist die Zeitdifferenz deutlich grö�er als Time
out so wars ein Stromausfall. Oder gibts eine bessere Lösung?
Viele Grüsse
Hans-Jürgen
> Hier die abgeänderte Init:
>
> /*************************************/
> /* PCF8583 initialisieren            */
> /*************************************/
> function init(byte A0,byte setCC2clock, byte autosync, byte watchdogtimeout, byte enableHostKey) returns byte
> // watchdogtimeout = 0 bis 99 (sec.)
> {byte reg;
>  if watchdogtimeout>99 timeout=99; else timeout=watchdogtimeout;
>  device=((A0!=0) and 0b10) or 160;
>
>  if i2c.cstart(device)
>   {
>    i2c.write(0x00);
>    i2c.start(device or 1);
>    reg=i2c.readlast() and 0x05;
>    i2c.stop();
>
>    i2c.start(device);
>    i2c.write(0x00);
>    i2c.write(0x04 and (watchdogtimeout!=0));
>    i2c.cstop();
>    if watchdogtimeout
>     {
>      i2c.start(device);
>      i2c.write(0x08);
>      i2c.write(0x4A);
>      i2c.stop();
>     }
**************  else i2c.stop(); // capture lösen wenn watchdogtimeout nicht gesetzt ! *********
>    if setCC2clock synccc2();
>    if autosync run sync;
>    enHostKey=enableHostKey!=0;
>    if timeout run watchdog;
>    if reg==0x05 return 0x80; //= Reset durch Watchdog verursacht
>            else return 0xFF;
>  }
>  i2c.stop();
>  return 0;
> }
>

>
> Viele Grüsse,
> Jörg


    Antwort schreiben


Antworten:

Re: pcf-uhr-watchdog-falsche Antwort (von JörgC - 17.08.2005 16:09)