Hallo zusammen, mein Programm hängt sich ab und zu auf, oder der Mega resetted einfach. Wie kann man so etwas debuggen? Ich habe keine Idee, wie man sowas auf die Spur kommen kann. Ein Timer lässt eine LED und gleichzeitig eine Dezimalstelle einer Zahl auf einem LCD blinken. EIn Problem z.B. ist, dass die LED weiterhin blinkt, wohingegen die Zahl still steht. Der Timer scheint also weiter zu laufen... Das tritt halt aber auch ganz zufällig auf. Ein zweiter Timer erledigt das Entprellen der Tasten. Manchmal werden keine Tastendrücke mehr erkannt, der Timer, der die LED blinken lässt läuft aber weiter?? Wodurch kann ich denn einen Reset erzeugen? Watchdog hab ich nicht, BRownOut ist aus. Das einzige was mir noch einfällt ist, dass er aus Versehen an die Adresse 0 springt... Gruß Henrik
Henrik wrote:
> mein Programm hängt sich ab und zu auf, oder der Mega resetted einfach.
Das erste kann sein, das 2. solltest Du erstmal prüfen.
D.h. Du must in Deinem Programm eine Routine einfügen, die die
Resetquellenbits ausliest, rücksetzt und anzeigt.
Wenn außer nach dem Einschalten kein Bit gesetzt ist, dann war das kein
Reset, sondern Dein Programm ist in den Wald gesprungen und irgendwie
wieder in den Resetvektor gelaufen.
Da wird wohl ein Fehler in Deinem für uns unsichtbaren Programm sein.
Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.