Comunicazione Arduino Mega timeout con errore del programmatore


10

Ho un Arduino Mega 2560 e funzionava bene fino all'ora di pranzo quando ho iniziato a ricevere questo errore:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

So che non è il codice che sto eseguendo mentre provavo a caricarlo su Uno e sembrava caricarsi senza problemi. Devo usare Mega in quanto ha più porte, però.

Da quello che ho letto questo è potenzialmente un problema con il bootloader ed è probabilmente correlato alla versione corrente di Arduino. Non so praticamente nulla del bootloader; tutto quello che so è che viene utilizzato per caricare il codice su Arduino (penso ...), quindi ho paura di scherzare con i file correlati inconsapevolmente.

Queste pagine sono quelle che ho guardato, ma come ho già detto, non so davvero abbastanza per sentirmi a mio agio con il semplice scherzare con i file.

Ho provato a disinstallare totalmente il mio Mega, quindi reinstallarlo. Ho anche scaricato una versione precedente di Arduino (0022) e nessuna delle due opzioni sembrava funzionare.

Non so cosa fare o come modificare i file "AVR" se necessario.



Ohhh non ho notato quel post. Ho provato di tutto tranne la masterizzazione del bootloader ... esiste un modo semplice per farlo senza dover acquistare software?
bladepanthera,

di solito vai all'IDE, guarda nel menu degli strumenti, seleziona "Masterizza Bootloader". Assicurati di selezionare prima la scheda giusta.
TheDoctor

@TheDoctor, ho visto questa opzione, ma non ho idea di cosa fare dopo. Presumo che devo caricarlo di nuovo con un nuovo programma "bootloader"? Un sito ( learn.sparkfun.com/tutorials/installing-an-arduino-bootloader ) dice che devo acquistare hardware e scaricare software specifico ... tutto per sostituire il software sul bootloader ?! Non sono sicuro di capire il perché.
bladepanthera,

1
Puoi usare Uno per riprogrammare Mega. Guarda in altoArduinoISP
microtherion il

Risposte:


3

Il bootloader su un arduino è solo un pezzo di software scritto per permetterti di aggiornare i tuoi schizzi usando la connessione USB. Senza il bootloader non puoi caricare schizzi usando solo l'ide arduino.

Maggiori informazioni sul bootloader sono disponibili qui: http://arduino.cc/en/Guide/Environment?from=Tutorial.Bootloader Guarda sotto la voce intitolata uploading che spiega la parte che il bootloader svolge nel caricamento degli schizzi.

Quando si utilizza il pulsante "Masterizza bootloader" nell'ide arduino, si tenta di scrivere una nuova copia del bootloader sulla scheda Arduino collegata. Per fare ciò, la scheda deve essere collegata in un modo specifico - cioè - usando l'intestazione icsp / isp anziché il cavo USB.

Ora per programmare direttamente il chip avr devi usare un programmatore esterno (hardware). Fortunatamente non è necessario acquistarne uno se si dispone di un secondo arduino perché il secondo arduino può essere utilizzato come programmatore. Le istruzioni per farlo sono disponibili qui: http://arduino.cc/en/Tutorial/ArduinoISP

Ulteriori informazioni sul bootloader: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader


1

Ho avuto questo stesso errore quando la mia porta COM di Arduino era occupata con altre app. Ho chiuso l'app e caricato lo sketch di Arduino e l'errore è scomparso.


0

Purtroppo questo errore si riferisce a molti problemi diversi e ci sono così tanti post qui e su altre piattaforme nessuno con una risposta definitiva. Forse il team di Arduino dovrebbe provare a dare errori migliori per differenziarsi. Ma ho cercato di rispondere alla stessa domanda qui in questo post SO .

ciò che ha risolto il mio problema è stato andare su Strumenti> Schede> Gestione schede ... selezionare "aggiornabile" per "Tipo" in alto a sinistra, quindi selezionare i pacchetti aggiornabili di seguito e fare clic su Aggiorna.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.