www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Software Reset mit Watchdog ATmega328P/88


Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich versuche einen ATmega328P bzw. Atmega88 Softwaremäßig per Watchdog 
zu resetten. Hierfür werwende ich die Funktionen aus wdt.h:

wdt_enable(WDTO_2S);     // Watchdog einschalten
while(1){};              // Endlosschleife

Direkt am Anfang der main routine Schalte ich den Watchdog wieder aus:

wdt_disable();

Der uC bleibt in der Endlosschleife hängen, hierfür habe ich mir 
testweise Buchstaben über den Uart senden lassen. Nach ca. 2 Sekunden 
kommt auch kein Zeichen mehr an. Der Watchdog reset sollte also 
erfolgreich gewesen sein.

Komischerweise startet der uC dann aber nicht mehr oder bleibt irgendwie 
hängen. Erst nach trennen der Sapnnungsversorgung läuft der uC wieder.

Was habe ich übersehen?

Gruß Jörn

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MCUSR = 0;

Peter

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz vergessen ;-)

MCUSR = 0;

War schon längst im Programm drin und wird vor wdt_disable() aufgerufen

Noch eine Idee?

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte.
wdt_enable(WDTO_500MS);
WDTCSR = _BV(WDIE);
cli();
while(1);

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider keine Veränderung .... uC hängt weiterhin nach dem Watchdog Reset 
.....

Langsam weiß ich echt nicht mehr woran es noch liegen soll....

Ist vllt. die Startup time zu lang für den Watchdog?

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh wie blöd !! ;-)  Wenn man nen Bootloader benutzt sollte man den 
Watchdog auch dort zurücksetzten und nicht im Hauptprogramm...

Danke für eure Hilfe

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.