Watchdog löst abwechselnd Interrupt und Reset aus?

Gast #3159109
Lesenswert?
• ▲
▼
Hallo

hab folgendes Problem mit dem watchdog:
Ich möchte den Modus "Interrupt and System Reset Mode" nutzen. Der 
Sprung nach time-out in die Interrupt Routine klappt auch ganz gut, aber 
nach allem was ich sehe gibt es danach KEINEN Reset, der kommt erst beim 
nächsten time-out. (Dafür keine Interrupt-Routine)

Mega168P, avr-gcc

Das Programm:
LED an PB7 blinkt. Wenn PB6 auf GND gezogen wird hängt das Programm in 
der while Schleife und der WD bekommt keinen reset mehr --> timeout.
Über UART lasse ich mir dann die Register-Werte ausgeben und sehe daran 
dann eben auch, ob ein Reset oder nur die Interrupt-Routine ausgelöst 
wurde.

Anbei ein screenshot des UART nach Start und 4maligem WD-timeout und das 
Programm.

Was mache ich falsch, dass es nicht immer einen RESET gibt?
Angehängte Dateien:
Moderator Persönliche Seite #3159125
Lesenswert?
• ▲
▼
riz schrieb:
> aber
> nach allem was ich sehe gibt es danach KEINEN Reset, der kommt erst beim
> nächsten time-out.

Ja, so soll es auch sein.

Wie auch sonst, wie willst du denn einen Interrupt und einen Reset
gleichzeitig haben?  Oder OK, wenn sie schon gleichzeitig sind
(Hardware kann sowas ;-), wofür sollte dann der Interrupt noch gut
sein, wenn jetzt sowieso ein Reset ausgeführt wird?
#3159137
Lesenswert?
• ▲
▼
Aus dem Datenblatt
1
If WDE is set, the watchdog timer is in interrupt and system reset mode.
2
The first time-out in the watchdog timer will set WDIF. Executing the
3
corresponding interrupt vector will clear WDIE and WDIF automatically by
4
hardware (the watchdog goes to system reset mode). This is useful for
5
keeping the watchdog timer security while using the interrupt. To stay
6
in interrupt and system reset mode, WDIE must be set after each interrupt.
7
This should however not be done within the interrupt service routine itself,
8
as this might compromise the safety-function of the watchdog system
9
reset mode. If the interrupt is not executed before the next time-out,
10
a system reset will be applied.

Ich würde mal sagen: das was du siehst, ist per Design so.
Gast #3159302
Lesenswert?
• ▲
▼
ja, klar, ihr habt recht. Macht keinen Sinn. Das kommt davon wenn man 
vor lauter verstehen-wollen wie ein Feature funktioniert, nicht mehr an 
die Sinnhaftigkeit denkt.
Danke und sorry für den sinnlosen post.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.