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 Zusammen, > ich suche seit einer Ewigkeit einen Fehler in meinem Programm. Der Watchdog setzt alle > ca. 26 Tage mein Programm zurück. Mit einer 2.Unit und einem einfachen Testprogramm versuche > ich den Fehler zu finden. Ob sich jemand erbarmt einem Ratlosen zu helfen? Über die Suche Funktion > habe ich nichts gefunden was mir hilft. > > Aktive Module: vmcodes, constant, system, ports, i2c, > pcf8583, pcflcd > Alle sind nach Andreès Seite Module und Funktionen auf dem > neuesten Stand. > Den Watchdog habe ich vorher in meiner Wintergarten Steuerung > eingesetzt. Hiervon sind noch Werte gespeichert nach dem Muster: > pcf8583.writeint(100,jal.TempAirInDoorOpen); > pcf8583.writeint(102,jal.TempAirOutDoorOpen); > > > Hier der Code des Testprogramms: > <code> > > byte ResetMarker; // Anzahl der ausgeführten Reset > int L2; > int watchdog; // Rückgabe Wert init Watchdog > > //************************************* > thread test1 > //************************************* > { > L2=L2+1; > pcflcd.goto(1,0);pcflcd.zahl(L2);sleep 200; > } > > //************************************* > thread main > //************************************* > WatchDog=pcf8583.init(1,1,1,40,1); > pcflcd.setpcf(0);pcflcd.init();pcflcd.clear(); > if WatchDog > 0 > { > if WatchDog==128 // (reset ausgeführt) > { > pcflcd.goto(1,0);pcflcd.print("Reset durch Watchdog"); > ResetMarker=ResetMarker+1;pcf8583.writebyte(19,ResetMarker); > pcflcd.goto(2,0);pcflcd.print("Anzahl");pcflcd.zahl3(ResetMarker); > pcflcd.goto(3,0);pcflcd.zahl2(system.hour());pcflcd.print(":"); > pcflcd.zahl2(system.minute());pcflcd.print(":"); > pcflcd.zahl2(system.second()); > pcflcd.goto(4,0);pcflcd.zahl2(system.day());pcflcd.print(":"); > pcflcd.zahl2(system.month());halt; > } > if WatchDog==255 > { > pcflcd.goto(2,0);pcflcd.print("Watchdog ok ");sleep 1000; > } > } > pcflcd.goto(1,0);pcflcd.print("Start=");pcflcd.zahl2(system.day()); > pcflcd.print(":");pcflcd.zahl2(system.month()); > pcflcd.goto(2,0);pcflcd.zahl2(system.hour());pcflcd.print(":"); > pcflcd.zahl2(system.minute());pcflcd.print(":"); > pcflcd.zahl2(system.second()); > sleep 1000; > run test1; > halt; > } > > </code>