Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > 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!!! > > Da hast du zum Teil Recht, die Funktion begrenzt nur den Wertebereich des Timeout > auf 0-99, mehr soll und braucht sie auch nicht zu tun... > Die maximale Zeit wird in der Variablen timeout gespeichert, auf die die Funktion "resetWD()" > zurückgreift... > > > > > > > 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! > > Ein Update wird es wohl nicht geben, da das Modul funktioniert, solange man es richtig benutzt... :-) > > > nitraM