Go Down

Topic: Arduino hängt fest (Read 928 times) previous topic - next topic

Serenifly

Stichwort: Watchdog Timer

Das ist aber eher eine Notlösung

postmaster-ino

Hi

Beliebigen FRam anschließen und dort unentwegt eintragen, wo das Programm gerade steckt.
Nummer,Zähler 1, Zähler 2, Zähler 3, ...

Bei jedem Start liest Du den FRam aus und zeigst im Terminal an, wann Er wo stehen geblieben ist.
Dann erhöhst Du den Wert für 'Nummer' und Dein Programm beginnt.
Einzige Änderung(en): vor und nach jeder Aktivität setzt Du den aktuellen Zähler auf eine eindeutige Zahl.
Wenn der Arduino hängen bleibt, wird Er wohl auch keine Daten mehr in den FRam schreiben - theoretisch wäre Das aber bei einem Absturz ebenfalls möglich, da Da ALLES passieren kann.

Beim nächsten Start bekommst Du zuerst eine Liste der 'Neustarts' und Deren letzte Aktion - eben diese Nummer.
Wenn sich hier Nummern häufen, vll. einen Blick wert.
Vll. den Sketch so umbauen, daß man auch zur Laufzeit an diese Daten ran kommt, sonst muß man für jedes Auslesen den µC neu starten und hat dadurch wohl auch einen weiteren Eintrag, bis wohin Er zuvor gekommen ist.

MfG

PS: Bei Laufzeiten von mehr als einer Woche könnte sich aber auch Das 'etwas' in die Länge ziehen - allerdings hast Du dann mehr als jetzt - und mit etwas Glück den Hänger an der gleichen oder an einer artverwandten Stelle.

PPS: Watchdog würde zumindest das neu Starten veranlassen - so ginge zumindest die 'Aufzeichnung' weiter - für den nächsten Fehler/Hänger.
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

Shane93

Ich wollte noch einmal ein kleines Update einbringen. Mein Sketch lief nun fast 2 Wochen ohne Unterbrechung durch. Ich habe scheinbar meinen Programmfehler gefunden, hatte einen Befehl in die falsche Klammer gesetzt.
Danke noch mal für eure Hilfe.

Go Up