DanielaES:
pitusso:
in realtà, se tu non resetti il wd, al termine del tempo stabilito avviene il reset.
Per resettare il wd utilizzi la funzione:
wdt_reset();
Ora ho capito anche se, questa impostazione, è assai limitante.
Poniamo il caso io abbia un while per un menu dove setto le impostazioni, può essere che io rimanga in questo while anche per qualche minuto.
Se metto il reset semplicemente nel loop... il menu non potrò mai utilizzarlo perché dopo 8 secondi max si resetta tutto.
e perchè?
Ti è sufficiente richiamare la funzione di reset all'interno del while.
DanielaES:
Devo quindi fare qualcosa tipo un sotto ciclo con un counter.
void setup (){
MCUSR = 0;
wdt_disable(); //disable wd }
void loop() {
int cnt = 0;
cnt++
If ( cnt > 10 ) { wdt_enable(WDTO_15MS);
delay (30);
}
}
E' corretto il mio ragionamento?
Domanda MCURS=0 cos'è?
Credo il flag del reset, ma che valori restituisce e come si comporta?
allora, MCUSR=0 dovrebbe pulire lo status register dell'ATMega.
Sicuramente Astro è in grado di dare una spiegazione migliore...
Il codice che hai scritto, sinceramente non l'ho capito molto 
Il wd lo abiliti solo nel setup (a meno di esigenze particolari), la sola cosa necessaria poi è resettarlo nel loop e nelle funzioni che vengono richiamate (e anche altrove, dove necessario).
DanielaES:
Due ultime domande sul wdt.
Il link di pitusso consiglia di disabilitare il prima possibile il wdt così:
#include <stdint.h>
#include <avr/wdt.h>
uint8_t mcusr_mirror attribute ((section (".noinit")));
void get_mcusr(void)
attribute((naked))
attribute((section(".init3")));
void get_mcusr(void)
{
mcusr_mirror = MCUSR;
MCUSR = 0;
wdt_disable();
}
Mentre il codice di pitusso lo disabilita nel setup.
Magari nel blink fa poca differenza ma io ho un setup bello pieno, meglio spostare il disable fuori?
Ho letto che se non lo disabilito a dovere incappo in un loop eterno di reset...
nel tuo caso, è sufficiente fare un disable all'inizio del setup, e poi l'enable alla fine del setup 
Anche io ho dei setup belli gonfi, che richiamano pure altre funzioni.
Anzi, per tutelarmi da problemi relativi a queste funzioni, la prima cosa che faccio è proprio abilitare il wd, per poi resettarlo nelle varie funzioni richiamate.
Posto qualche altro link per approfondimento, sicuramente più chiari di me:
http://tushev.org/articles/electronics/48-arduino-and-watchdog-timer