Salve a tutti ragazzi, ho un problema con il wachdog . ho creato un programma per gestire una bilancia ma ogni tanto va in blocco bisogna spegnerlo e riaccenderlo. Allora ho pensato di mettere il reset di wachdog ma non funziona come vorrei, ho inserito l'istruzione wdt_reset(); all'inizio dopo il voidloop . Ma ogni volta che entra in un if... mi resetta il micro. Allora la mia domanda è questa posso inserire il reset dentro ogni if? oppure come posso fare per ovviare al problema?
allego prog
Grazie 
w031216.ino (19.5 KB)
Ciao, forse se il codice si blocca ha bisogno di un po di debug
in ogni modo, io farei così:
Imposti il watchdog in modalità interrupt ogni, 1 - 4 secondi. Ad ogni interrupt incrementi di 1 un contatore. Quando il contatore supera X, imposti il watchdog in reset mode e al prossimo giro hai il reset.
Grazie doppiozero ma la tua soluzione non mi è molto chiara come faccio a sapere quando si blocca e se si blocca prima di esser arrivato a X?
Ma secondo te metter più reset non va bene?
Il reset e gli interrupt vengono eseguiti a tempi fissi, indipendentemente dal fatto che il programma sia o meno in blocco. E' il bello del watchdog 
qui un po' di info
Aggiungo anche che per impostare il watchdog in modalità interrupt bisogna manipolare direttamente i registri, il che complica un po' il codice
Per me la strada migliore è cercare la causa del blocco ed eliminarla 
Probabilmente hai ragione doppiozero , per caso hai dato un occhiata al codice? Non è niente di complicato sono solo un po di if in cascata.
Comunque il codice si blocca sempre con il display nella pagina iniziale. Io penso sia un problema di conflittualità fra librerie
arduino quale? spero non sia UNO
si, anzi uso direttamente atmega
A occhio direi che esaurisci la ram, hai variabili pubbliche troppo costose.
Se come dice pablos, a che livelli arrivi nella compilazione. Cosa riporta il report a fine compilazione ?
Ho già visto questa storia da una altra parte :
:
il codice si blocca sempre con il display nella pagina iniziale.
La pagina iniziale sarebbe la home page con ora e data? Vedo anche molti while, può essere che tu rimanga intrappolato in uno di quelli