Forum: Mikrocontroller und Digitale Elektronik Watchdog geht nur manchmal


von JanBerger (Gast)


Lesenswert?

Hallo,

ich habe ein etwas komisches Problem - vielleicht könnt ihr mir einen 
kleinen Tipp geben.

Ich habe auf einen Atmega1284 OpenMCP laufen - was auch relativ gut 
funktioniert. Manchmal hängt sich das Teil aber auf - deshalb habe ich 
mir gedacht, ich aktiviere den Watchdog und lasse das Teil automatisch 
resetten.

In der Initialisierung habe ich einen "wdt_enable ( WDTO_2S );" 
eingebaut ... gleichzeit läuft auch jede Sekunde der "wdt_reset();", 
zusammen mit einem Toggle einer angeschlossenen LED (damit ich sehe, 
wenn der Watchdog resettet wurde). Die LED blinkt auch ganz brav im 
Sekundentakt ...

Wenn ich den Prozessor absichtlich daran hindere den Watchdog zu 
resetten, dann wird auch problemlos nach 2 Sekunden ein Reset ausgelöst 
...

Dennoch kommt es nach wie vor hin und wieder vor, dass OpenMCP 
abgeschmiert ist ... es blinkt dann auch die Watchdog-Reset-LED nicht 
mehr ... der Watchdog kann also nicht resettet werden - dennoch wird 
scheinbar kein Reset ausgelöst?!

Im Code von OpenMCP gibt es keine Änderungen am Watchdog (alles 
auskommentiert) ...

Kann der Prozessor so krass abstürzen, dass auch kein Watchdog mehr 
hilft? Oder übersehe ich da irgendwas?

von Peter II (Gast)


Lesenswert?

JanBerger schrieb:
> Kann der Prozessor so krass abstürzen, dass auch kein Watchdog mehr
> hilft? Oder übersehe ich da irgendwas?
eigentlich nur wenn du ihm sein Takt wegnimmst.

Der Prozessor kann eigentlich überhaupt nicht abstürzen, sondern nur 
deine Software. Also finde lieber die fehler in der Software als sie mit 
dem WD zu umgehen.

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
Noch kein Account? Hier anmelden.