Problemi con watchdog: impossibile caricare nuovi sketch

Ciao ragazzi, avendo la necessità di resettare via software il mio sketch ho impostato il watchdog timer. Solo che ho sbagliato e ho messo un tempo troppo piccolo tanto che adesso non riesco a caricare nuovo software perché prima che questo venga caricato del tutto il dispositivo si resetta, impedendomi di utilizzare in qualsiasi modo il mio arduino duemilanove. Qualcuno sa aiutarmi?

mi sembra che reimpostando i fuse del micro puoi disabilitare il watchdog... quindi basta che riscrivi i fuse..

http://www.engbedded.com/fusecalc/ qui puoi calcolarteli!

grazie delle tempestività intanto :) ho trovato i valori fuse originali della mia board sia dal link che mi hai dato che sul file "arduino-0022\hardware\arduino\boards.txt". Solo che non ho mai reimpostato i fuse: è possibile farlo senza controllori esterni o hardware aggiuntivo?

Sì, puoi usare l'Arduino. Se cerchi ci sono in diversi thread le voci da inserire sul terminale per usare l'Arduino come programmatore di fuse.

alexdb: mi sembra che reimpostando i fuse del micro puoi disabilitare il watchdog...

Non è una questione di fuse, anche perché non li ha modificati, è solo un problema di temporizzazione watchdog imposta da software. La procedura per risolvere è semplicissima, collegare Arduino alla USB tenendo premuto il tasto di reset, non si deve assolutamente far avviare il bootloader/sketch, premere il tasto per l'upload sull'IDE caricando uno sketch innocuo, p.e. il classico blink, non appena appare nella finestra dell'ide la dimensione dello sketch rilasciare il tasto di reset e aspettare la fine dell'upload. Se non riesci a caricare il nuovo sketch al primo tentativo prova a ritardare leggermente il rilascio del reset, pochi decimi di secondo per volta, fino a che non riesci a caricarlo. L'alternativa è riflashare il bootloader, in questo modo cancelli anche lo sketch, perché riscrivere i fuse non serve a nulla nel tuo caso.

Sei andato a finire in un loop infinito. Io non sono riuscito a risolvere il problema. lo sketch lo ripristini come già ti hanno consigliato, quindi tieni premuto reset, alimenti arduino, poi fai l'upload e solo quando esce la dimensione dello sketch rilasci reset. Se non ti riesce riprova più volte. Per quanto riguarda il watchdog io ho fatto delle prove su arduino mega. I primi consigli erano quelli di tenere in considerazione il tempo di avvio, perchè il watchdog deve essere impostato con un tempo superiore a quello del bootloader. Ma io oltre a questo riscontrai (almeno con il bootloader del mega, gli altri non lo so e da testare) che anche se impostavi 8 secondi, al primo riavvio si reimpostava a 15 ms e quindi la scheda ritornava in loop infinito. Fammi sapere se trovi una soluzione idonea. Altri chiarimenti chiedi pure

sono riuscito a risolvere con un paio di riavvii/reset. Grazie per le risposte, avete salvato il mio arduino :slight_smile: