WDT Reset bei langen Delays

Hallo,

für mein aktuelles Projekt möchte ich in einen Webserver eine Reset-Funktion einbauen. So bin ich auf den WDT-Timer gekommen - aber leider verstehe ich ihn trotz langer Recherche nicht gut genug, um mir zuzutrauen, ihn einzusetzen ohne dass mein Arduino in einer Start-Schleife hängt.

Außerdem schließt mein Gerät lange delays ein, dh ich kann den watchdog in dieser Zeit nicht resetten. Gibt es eine Möglichkeit, entweder den Timeout des watchdogs zu verlängern, oder den watchdog nur auf knopfdruck zu aktivieren, den Timeout mit Absicht zu provozieren und den watchdog dann nach dem neustart wieder zu deaktivieren?

Hi,

ich bin zwar auch noch ein Anfänger, aber vielleicht solltest (auch) Du lernen Codes ohne Verwendung von delay() zu schreiben.

Tipp:

http://arduino.cc/en/Tutorial/BlinkWithoutDelay

Gruß Chris

Das könnte mir helfen, dankeschön :slight_smile:

Oder wenn Du schon um die delay()'s nicht umhinkommst das lange delay in mehrere kurze unterteilen und den WD dazwischen anzuschupsen. Unter uns, millis() ist aber die bessere Lösung ;) ;) ;) Grüße Uwe

Hallo auch!

Du musst zwangsläufig ohne delays arbeiten welche auf delay() basieren weil Du den Watchdog innerhalb der eingestellten wtd-Zeit zurücksetzen musst. Dies ist mit delay() nicht möglich.

Viele Grüße

Jörg

@ Uwe: "...die bessere Lösung" ist sehr diplomatisch ausgedrückt :) ;-)