Il watchdog ha il difetto che se non usato correttamente può causare problemi.
Il jmp $0000 è un modo più semplice di fare il riavvio.
Vero, pero' e' l'unico sistema valido nel caso il codice si blocchi.
anche se io, proprio per i motivi citati, preferisco usare un watchdog hardware esterno in quei sistemi che so' darmi dei problemi
C'e' un altro metodo, pilotare una porta sul pin reset che equivale a premere il bottoncino. Potrà essere un sistema grezzo, arcaico, casalingo .... chiamalo come ti pare XD ma funziona. Spero che in arduino DUE abbiano pensato a questo perchè sono anni che leggo questa domanda.
Metteteci un benedetto reset completo via software!!
pablos:
C'e' un altro metodo, pilotare una porta sul pin reset che equivale a premere il bottoncino. Potrà essere un sistema grezzo, arcaico, casalingo .... chiamalo come ti pare XD ma funziona.
Sei sicuro che funzioni perché l'hai sperimentato o perché ne hai sentito parlare?
Tempo fa fu affrontato lo stesso argomento del reset software e l'idea di un "auto-reset" fu detto che non era fattibile perché il tempo che il pin di reset restava basso pullato da un altro pin non era sufficiente a resettare il micro.
Ho provato proprio ora questa specie di "autofecondazione" ma a me non funziona.
Lo stato LOW deve essere tenuto per un determinato numero di cicli di clock e poi tolto, altrimenti il reset non viene interpretato in maniera corretta. Collegando l'Arduino con un qualsiasi pin collegato al pin di reset porta ad un lampeggio perenne del led L.
Ovviamente ponticellando dopo il collegamento dell'Arduino all'alimentazione e spedendo il segnale Low dal pin porta allo stesso identico effetto.
Non l'ho mai fatto, domani se ho un minuto lo provo perchè prima o poi mi servirà un reset remoto, non puoi semplicemente rigirare un pin sul reset per il motivo che hai appena detto, ma un contatto pulito di un micro-relè è impossibile che non funzioni. Ho cercato un esempio in rete anche se si può semplificare ... qualcosa di simile
perchè se tu tieni il dito sul reset per 5 minuti e lo rilasci non si resetta? secondo me il tempo non cambia nulla .. piuttosto non deve essere troppo breve fatto con questo sistema, un circuito RC dovrebbe in teoria funzionare, il condensatore si scarica tramite la R in un tempo leggermente prolungato tenendo chiuso il relè pochi instanti in più dopo la mancanza di tensione sul pin di comando del relè, terminata la carica il relè non ce la fa più e ci molla