Re: pcf-uhr-watchdog-falsche Antwort Kategorie: Programmierung (von JörgC - 10.08.2005 9:21) | ||
Als Antwort auf pcf-uhr-watchdog-falsche Antwort von Hans-Jürgen - 7.08.2005 17:11 | ||
| ||
> Hallo zusammen, > ich benutze den pcf-uhren baustein von Andre mit dem modul pcf8583 V 1.51. > �ber return byte der init funktion möchte ich mir die Antwort anzeigen lassen. Ist der Baustein ab zeigt > meine Variable 0 ist er dran den Wert 255. > Hängt sich mein Programm auf wird ein Reset vom Baustein ausgelö�t jedoch in der Variablen > wieder die Zahl 255 statt 128 angezeigt. > Hat jemand einen Tip für mich ? > Vielen Dank für Eure Mühe > Hans-Jürgen Hallo Hans-Jürgen, ich hatte das gleiche Problem wie Du. Hier ist m.E. noch ein kleiner Fehler in der Init Routine. Ich verwende die V1.52 des Moduls pcf8583.c2 aus dem SP 2.13 mit geringfügigen �nderungen. Funktioniert bei mir ohne Probleme. 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(); } 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 Hans-Jürgen - 14.08.2005 9:13) Re: pcf-uhr-watchdog-falsche Antwort (von JörgC - 17.08.2005 16:09) |