Ciao a tutti,
ho iniziato in questi giorni a programmare su arduino, ho pero' alcuni dubbi riguardanti il codice d'errore che mi restituisce il programma.
Vi descrivo la situazione,
collego l'arduino uno al pc, lancio il programma per compilare il codice e invio senza problemi lo sketch.
senza scollegare l'arduino, faccio ad esempio una piccola modifica al codice e la riuplodo, in questo caso pero' non va a buon fine e ricevo questo errore:
avrdude: stk500_getsync(): not in sync: resp=0x00
(ho già googlato e si dice che potrebbero esserci problemi sulla com)
se scollego il tutto, ricollego e faccio ripartire l'upload funziona tutto correttamente.
Cosa può essere secondo voi? la porta è libera e utilizzata solo dalla UNO. (il mio sistema operativo è 8.1, i driver e il software li ho scaricati 3 giorni fa)
Cioè? Cosa dovrei fare? Ieri sera con quello scherzetto che mi faceva a un certo punto anche riavviando il pc non riuscivo a caricare lo sketch.
Ho dovuto collegare la uno al pc tenendo premuto il reset, e poco dopo aver fatto partire l'upload rilasciare il pulsante per farla tornare a funzionare.
Esiste un modo corretto per "spegnere" l'arduino? A me sembra che sia sufficiente staccare l'alimentazione.
Ti confermo che un modo per risolvere il problema è utilizzare la manovra di emergenza, ovvero di tener premuto il pulsante di reset e poi rilasciarlo contemporaneamente all'inizio dell'upload.
Per evitare che ti ripresenti il problema inserisci un delay(1000); prima del Serial.begin nel setup().
In questo modo eviti che la seriale comincia la sua attività prima che l'interfaccia usb/seriale capisca che vuoi effettuare un upoload del nuovo codice.
Se delay(1000); non funziona allora metti delay(2000);
PaoloP:
Per evitare che ti ripresenti il problema inserisci un delay(1000); prima del Serial.begin nel setup().
Corretto, però serve solo se lo sketch inizia immediatamente a inviare dati sulla seriale, ovvero non è il Serial.begin() a creare il problema, è l'eventuale uso immediato, e continuo, della scrittura sulla seriale all'interno della loop.