Watchdog löst abwechselnd Interrupt und Reset aus?

Gast #3159109
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
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?
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
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

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.