Re: Watchdog Kategorie: Programmierung (von GPL - 28.09.2009 22:01) | ||
Als Antwort auf Re: Watchdog von nitraM - 28.09.2009 9:44 | ||
| ||
Hallo Drickes, > pcf8583.init(1,1,1,0,1); // Init ohne Auomatik... > pcf8583.setWDtimeoutt(20); // WD-Time auf 2sec einstellen > loop > { > pcf8583.resetWD(); // WD im Programm regelmä�ig zurücksetzen... Auch meine Programmierexperimente mit dem Watchdog in der obenangeführten Form (ohne den Watchdog-Thread) haben leider nie zu einem Erfolg geführt. Ich stelle daher die Behauptung auf, dass der Fehler in dem Modul pcf8583.c2 in der letzten Version 1.55 /* Version : 1.55 */ /* Datum : 19. Juli 2003 */ /* Geändert : 15. Oktober 2007 liegen muss. Auch das Testprogramm rtctest.c2 funktioniert in dieser Konfiguration nicht! /******************************************************************/ /* Test/Beispielprogramm für pcf8583.c2 */ /* */ /* Autor : André Helbig (www.cc2net.de) */ /* Benötigt : ports.c2, hwcom.c2, pcf8583.c2, plm.c2, str.c2 */ /* Ausgabe über hwcom 57.600 Baud */ /* (Teminal-Programm erforderlich, z.B. Hyperterminal) */ /******************************************************************/ So jetzt habe ich mir mal die entscheidende Funktion im pcf8583.c2 : /** Watchdog Timeout ********************************************/ function setWDtimeout(byte watchdogtimeout) { if watchdogtimeout<=99 timeout=watchdogtimeout; else timeout=99; } genauer angesehen. Die tut eigentlich nicht viel. Vor allem setzt sie nicht die Uhrenregister!!! Hier meine neue Version: /** Watchdog Timeout ********************************************/ function setWDtimeout(byte watchdogtimeout) { if watchdogtimeout<=99 timeout=watchdogtimeout; else timeout=99; /* neu */ i2c.start(device); i2c.write(0x00); i2c.write(0x04 and timeout); i2c.cstop(); i2c.start(device); i2c.write(0x08); i2c.write(0x4A); i2c.stop(); /* neu bis hierher */ } Und siehe da alle meine Testprogramme funktionieren! Aber leider nicht perfekt! Bei pcf8583.setWDtimeoutt(xx); funktionieren leider nicht alle Werte für xx! Bitte überprüft das mal und wenn wir es hinbekommen, dann werden wir Andre um ein offizielles Update bitten! Gru� GPL | ||
Antwort schreiben Antworten: Re: Watchdog (von nitraM - 29.09.2009 7:46) |