NO,
l'enable NON lo fai nel loop(), ma lo fai una sola volta nel setup().
Da quel momento, con i parametro che tu usi, hai 8 secondi per dare un wdt_reset() o ... il tutto si resetta come se avessi premuto il tasto di reset.
Quindi, attivato il WD nel setup() ... nel loop() e/o in funzioni da esso richiamate, ti devi ricordare di chiamare la wdt_reset() perché, se entro il tempo stabilito non lo fai, il WD capisce che c'è un problema e resetta il micro.
Guglielmo
P.S.: Ogni volta ch fai wdt_reset() il conteggio degli 8 secondi riparte da zero
comunque l' uso del watchdog che vuoi fare é concettualmente sbagliato. Non ha senso usare il Watchdog per risolvere un problema di programmazione e di risorse hardware inadeguate per l' uso che si vuole fare.
uwefed:
comunque l' uso del watchdog che vuoi fare é concettualmente sbagliato. Non ha senso usare il Watchdog per risolvere un problema di programmazione e di risorse hardware inadeguate per l' uso che si vuole fare.
Pienamente d'accordo con Uwe ...
... il watchdog è per situazioni di "emergenza" in cui, per un motivo "particolare" il micro ha perso il controllo. Usarlo per risolvere "errori di programmazione" è un ERRORE di per se ed è una pessima scelta.