Go Down

Topic: Arduino non si resetta e non comunica col pc (Read 3 times) previous topic - next topic

Clax

Ciao a tutti

ho ricevuto proprio oggi il mio primo Arduino (UNO) e da bravo novellino ho seguito un primo tutorial di base dalla sezione "Apprendimento" di questo sito, esattamente il "Blink" (quello banale del led che lampeggia).
Quindi, fatti i dovuti collegamenti e avviato il software, ho fatto l'Upload e l'arduino ha iniziato a far lampeggiare il led.
Purtroppo però questo è stato il primo e ultimo upload riuscito...
Ogni altro upload che tento non va a buon fine ed esce la scritta rossa:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51.
Ho provato a fare un upload anche da un secondo pc con windows xp (sul primo ho W7) ma l'errore è lo stesso  :~
Inoltre non riesco a resettare arduino. E' vero non lo conosco bene ma mi aspetto che premendo il tastino reset si cancelli il programma in memoria, invece appena rilascio il tasto si rimette ad eseguire l'unico programma che sono riuscito a caricare e quindi riprende a lampeggiare il led (è normale?).
Purtroppo con l'upload bloccato non posso fare altre prove.

Sapreste darmi una mano?

uwefed


Quindi, fatti i dovuti collegamenti e avviato il software, ho fatto l'Upload e l'arduino ha iniziato a far lampeggiare il led.
Purtroppo però questo è stato il primo e ultimo upload riuscito...
Ogni altro upload che tento non va a buon fine ed esce la scritta rossa:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51.
Ho provato a fare un upload anche da un secondo pc con windows xp (sul primo ho W7) ma l'errore è lo stesso  :~

Hai collegato qualcosa ai Pin 0 e 1? Togli tutto e funzionerá.

Quote from: Clax

Inoltre non riesco a resettare arduino. E' vero non lo conosco bene ma mi aspetto che premendo il tastino reset si cancelli il programma in memoria, invece appena rilascio il tasto si rimette ad eseguire l'unico programma che sono riuscito a caricare e quindi riprende a lampeggiare il led (è normale?).


Il reset non cancella il programma. Un reset fa partire l'esecuzione del programma dal inizio (con la prime cosa programmata nella funzione setup()).

Ciao Uwe

Michele Menniti

Ciao, hai controllato che in board sia settato "Arduino UNO" e che la COM selezionata sia quella corretta, sull'altro PC è facile che abbia un nome COMx diverso.
Se è tutto a posto l'unica cosa da fare è la manovra d'emergenza, un po' macchinosa ma spesso risolutiva quando Arduino non ne vuole sapere più.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Clax

Intanto grazie!

Quote
uwefed: Hai collegato qualcosa ai Pin 0 e 1? Togli tutto e funzionerá.

non ho mai collegato nulla a quei pin ed ora di collegato c'è solo l'usb ma nuente.
Il led verde è acceso e quello giallo lampeggia per il programma in memoria...

Quote
menniti: Ciao, hai controllato che in board sia settato "Arduino UNO" e che la COM selezionata sia quella corretta, sull'altro PC è facile che abbia un nome COMx diverso.

si è la prima cosa che ho controllato dopo aver letto un po' in giro ma è tutto ok. La cosa strana è che al primo collegamento ha funzionato subito ma è stata anche l'ultima.
Inutile dire che ho provato a riavviare il pc e a cambiare porta usb ma niente.

Quote
menniti: Se è tutto a posto l'unica cosa da fare è la manovra d'emergenza, un po' macchinosa ma spesso risolutiva quando Arduino non ne vuole sapere più.

di cosa si tratta?

leo72

Il tastino di reset non è come il reset del computer, che fa riavviare la macchina e cancella il programma in memoria. La memoria su cui è memorizzato lo sketch non è RAM, che si cancella senza alimentazione, è di tipo Flash e mantiene quindi il programma fino a successiva riprogrammazione.

La Manovra d'emergenza di solito serve quando il micro è bloccato sulla seriale ma a te non sembra bloccato sulla seriale, sembra invece "sordo", nel senso che non comunica più col computer.
Comunque è questa:
1) apri l'IDE
2) carichi uno sketch qualunque, anche il "blink" modificato (prova a mettere un delay doppio)
3) prendi l'Arduino e metti il dito sul pulsante "reset".
4) MENTRE tieni questo tasto pigiato, colleghi l'Arduino al PC
5) adesso, MENTRE continui a tenere pigiato il pulsantino, premi il tasto di upload dello sketch
6) ora rilasci il pulsantino di reset
7) se hai trovato la sincronizzazione giusta tra la pressione del pulsante grafico di upload dello sketch ed il rilascio del reset, verrà caricato lo sketch


Go Up