“ avrdude: stk500_getsync (): not in sync: resp = 0x00, ” aka Some Dude Named Avr Won ' t Fammi caricare il mio programma

Laltro giorno ho creato un programma fantastico e volevo caricarlo sul mio Arduino. Dopo aver fatto clic sul pulsante di caricamento, un tizio cattivo di nome avr è arrivato e mi ha fermato, dicendo:

avrdude: stk500_getsync (): not in sync: resp = 0x00

Tutto voglio solo caricare il mio programma, ma avr non me lo permette. È anche incomprensibile, quindi qualcuno può dirmi cosa diavolo sta cercando di dire e come sbarazzarsene?


cioè:

Ogni volta che provo a caricare un programma al mio Arduino, ricevo questo messaggio di errore:

avrdude: stk500_getsync (): non sincronizzato: resp = 0x00

Cosa significa e come posso risolverlo?

Commenti

  • Messaggio di errore piuttosto comune , non sempre banale da risolvere: electronics.stackexchange.com/…
  • Bel titolo ! Io ‘ ho avuto quellerrore anchio …
  • +1 per il titolo: D … odio davvero questo tizio tanto quanto hai fatto!
  • Prova a installare il driver (cp2102) per arduino. Questo mi ha aiutato. Grazie per le risposte precedenti ppl 🙂
  • Questo post di giugno 2018 mi ha risolto (prima risposta): arduino.stackexchange.com/questions/51729 / …

Risposta

Questo è causato da un errore di connessione generico tra il tuo computer e Arduino e può derivare da molti problemi specifici diversi.

Ecco alcune semplici cose che spesso possono risolvere questo errore:

  • Scollega e ricollega il cavo USB.
  • Premi il pulsante di ripristino sulla scheda.
  • Riavvia lIDE di Arduino.
  • Assicurati di selezionare la scheda giusta in Tools ► Board ►, ad es Se stai usando Duemilanove 328, selezionalo invece di Duemilanove 128. La scheda dovrebbe indicare quale versione è sul microchip.
  • Assicurati di aver selezionato la porta giusta in Tools ► Serial Port ►. Un modo per capire su quale porta si trova è seguire questi passaggi:
    1. Scollegare il cavo USB.
    2. Vai a Tools ► Serial Port ► e vedi quali porte sono elencate (ad es. COM4 COM5 COM14).
    3. Ricollega il cavo USB.
    4. Torna a Tools ► Serial Port ► e controlla quale porta sembrava che prima non ci fosse.
  • Assicurati che i pin digitali 0 e 1 non abbiano nessuna parte collegata, inclusi gli schermi.

Se nessuno di questi funziona, prova a isolare il problema sostituendo le cose: prova un computer diverso sullo stesso arduino, prova un arduino diverso sullo stesso computer e prova a utilizzare un cavo USB diverso.

Se il problema riguarda il computer:

  • Ricontrolla tutti i problemi relativi al computer nellelenco “soluzioni facili” sopra.
  • Reinstalla lIDE.
  • Reinstalla i driver.

Se il problema riguarda Arduino:

  • Controlla tutti i problemi relativi alla scheda nella elenco “soluzioni facili” sopra.
  • Assicurati che il microcontrollore sia posizionato correttamente.
  • Potrebbe essere necessario masterizzare il bootloader .
  • Sostituisci il microcontrollore se ne hai un altro a portata di mano nelle vicinanze.
  • Potresti aver bloccato Arduino. Spiacenti 🙁

Commenti

  • Ci sono altre possibili cause. Potresti aver danneggiato ATmega, potresti aver danneggiato il bootloader su ATmega, potresti avere problemi di alimentazione o una miriade di altre possibilità. not in sync: resp=0x00 è in realtà un generico ” ATmega che non risponde ” messaggio. Tutto ciò che potrebbe causare la mancata risposta di ATmega può causarlo.
  • Quindi non posso mai avere nulla in 0 o 1?
  • @Tim Puoi collegare cose a quei pin, ma devi scollegarli se vuoi comunicare con il tuo Arduino tramite il cavo USB.
  • Ho ricevuto questo errore sul mio primo Duemillanove anni fa. era un chip UART guasto (o connessione da USB a chip UART). Molto frustrante. Ho comprato un programmatore AVR e ho bruciato il bootloader. Ho acquistato unaltra CPU con bootloader precaricato. Non era ‘ t fino al venditore ha inviato un sostituto che ho potuto unire al wor ld di appassionati di Arduino (e ora ho due CPU di riserva).
  • ” Scollega e ricollega il cavo USB ” funziona per me

Risposta

Unaltra soluzione:

Modifica Tools->Processor->Atmega 328P a Atmega 328P (Old Bootloader). Ricorda che lopzione Processor è disponibile solo quando selezioni alcune bacheche specifiche in Tools>Board.

Questo ha funzionato per il mio Arduino Nano con CH340, utilizzando Arduino IDE 1.8.5 sotto Linux Ubuntu 17.10. Inoltre, questo probabilmente accadrà se usi IDE 1.8.9 o più recente e ottieni un Nano vecchio o clonato.

Commenti

  • Quello era il soluzione! Il nuovo bootloader utilizza il doppio della velocità di trasmissione (115200 invece di 57600).

Risposta

Sfortunatamente, può significa anche che hai bruciato il tuo microcontrollore. Stavi facendo qualcosa di pericoloso prima di provare a caricare un nuovo schizzo? Il microcontrollore funziona ancora, con il suo sketch precedentemente caricato?

Risposta

Se nessuno dei passaggi precedenti funziona, prova a reinstallare Avrdude e il compilatore avr-gcc. Ho dovuto farlo dopo che il mio Mega ha iniziato a soffrire di questo problema.

Se hai installato Avrdude e avr-gcc separatamente, disinstallali semplicemente. in caso contrario, potrebbe essere necessario reinstallare lIDE di Arduino. Questi passaggi dipenderanno dal tuo sistema operativo.

Commenti

  • È altamente improbabile che il problema sia causato a causa della toolchain utilizzata. Questo è troppo estremo, IMO.
  • Qual è il processo di installazione di cui stai parlando? Lo strumento delleditor di arduino è appena decompresso. Non è presente alcun processo di installazione.

Risposta

Ho ricevuto lo stesso messaggio. Ogni volta che è stato risolto selezionando la porta giusta, ovvero USB nel menu Strumenti, quindi Porte. È un passaggio semplice ma dimentico sempre. Scollegherò Arduino per interrompere il programma corrente, lo collegherò di nuovo al mio computer per caricare il nuovo programma e ottenere lerrore, il panico, la maledizione e solo allora, ricorda.

Risposta

Nel mio caso non avevo cablato lRTS pin del chip FTDI a un condensatore che è andato al pin RST di Arduino Pro Mini. Una volta installata questa connessione, non ho più ricevuto lerrore e sono stato in grado di caricare il codice.

Nick Gammon spiega questo nel suo forum . Ho aggiunto una foto di dove / come dovrebbe essere posizionato il condensatore. inserisci qui la descrizione dellimmagine

Commenti

  • +1 per la bella immagine del collegamento del programmatore USB direttamente a un chip atmega.
  • Avevo anche alcune cattive connessioni sulla mia scheda, ho scollegato tutto e caricato uno schizzo di base e ha funzionato . Ora cerca di capire quale cavo non è nel posto giusto

Risposta

Ho avuto lo stesso identico problema. Ho provato a installare lIDE su un altro laptop e ho caricato il programma da quel laptop. Problema risolto. Poi sono tornato al mio laptop, ho disinstallato lIDE e lho reinstallato .. ha iniziato a funzionare.

Tuttavia, non ero soddisfatto perché non riuscivo a trovare la fonte del problema … quindi ho provato a eseguire di nuovo tutto nello stesso modo … Ho trovato il problema ma non sono sicuro che può esserne la vera causa.

Nel mio progetto, avevo bisogno di effettuare la comunicazione seriale tra arduino e MATLAB (GUI). Per vedere / verificare loutput (tipo) dei dati seriali MATLAB (GUI), ho utilizzato HYPERTERMINAL e anche VIRTUAL SERIAL PORT EMULATOR. Ho notato che ogni volta che quando hyperterminal è in esecuzione o VSPE è in esecuzione mentre il mio monitor seriale è acceso, rovina la funzione di caricamento del programma. Non sono sicuro che sia a causa di VSPE o HYPERTERMINAL, ma reinstallare lIDE ha funzionato per me.

Commenti

  • Uno dei Le linee di controllo seriale, penso sia DTR, vengono utilizzate per ripristinare Arduino. Quando provi a programmare il tuo Arduino, il tuo programma terminale potrebbe interferire.
  • Questo ha funzionato per me solo quando ho anche eliminato la mia cartella della libreria Arduino, che contiene tutte le impostazioni e librerie extra.

Risposta

Per le persone che usano Linux Mint ho scoperto che selezionando la porta “TTY SO” invece di quella etichettata “Arduino” funzionerebbe (non posso dirtelo esattamente perché non ho quel computer davanti a me in questo momento).

Quindi la prossima volta che ho usato Arduino ho ricevuto di nuovo lo stesso messaggio, quindi sono tornato alla porta “Arduino” e da allora ha funzionato in quel modo.

Non sono tecnicamente informato come il resto di voi ragazzi, quindi non ho idea del perché funzioni o quale fosse il problema, ma ha funzionato, ed è tutto ciò che mi interessa. Forse questo sarà utile a qualcuno.

Risposta

Ho disinstallato lIDE e i driver ecc., Ho installato di nuovo tutto, quindi ho eseguito lIDE di Arduino come amministratore e impostato per eseguire la compatibilità come Windows 7 (attualmente ne uso 10).

Ho anche cambiato il programmatore in AVR ISP (non credo che sia importante, ma io cambiato comunque).

Tutto sta funzionando di nuovo … si spera, questo può aiutare anche qualcun altro.

Risposta

Uno insolito ma “ho cambiato molto i microcontrollori e ho ricevuto questo errore quando uno non lo era” t seduto correttamente .. sono stato in grado di bruciare un paio di volte ma immagino che sia scivolato fuori – una piccola spinta sul retro dellATMega328 lo ha risolto!

Risposta

Cè anche la possibilità che il controller stesso venga posizionato nel modo sbagliato nel socket di Arduino. Questo può essere pericoloso per il controller (che potrebbe essere danneggiato) ma, nel mio caso, ha dato solo lerrore di sincronizzazione, impedendomi di caricare il codice.

Quindi controlla se la tacca sullIC è nella giusta direzione (puoi incrociare le immagini del tabellone online). La tacca sul controller di Uno dovrebbe puntare verso il bordo della scheda.

Answer

Ho riscontrato anche questo errore. Era la prima volta che utilizzavo una nuova scheda Arduino Nano dopo che avevo saldato i connettori. Solo legando il Blink Sketch, nulla era collegato alla scheda.

Ho trovato un piccolo corto di saldatura tra GROUND e RESET pin. Lho preso e poi ho potuto caricare ok.

Suppongo che questo potrebbe accadere se avessi lo stesso corto su un circuito da qualche parte.

Risposta

Ho appena avuto lo stesso errore con un nuovissimo Mini Pro. Dato che il programma blink predefinito precaricato con la maggior parte di Arduino è in esecuzione, so che probabilmente lunità è OK.

Quindi ho ispezionato le intestazioni che ho saldato ancora una volta e ho scoperto che non cera abbastanza saldatura sui pin TX0. Dopo aver risaldato ogni lavoro.

Risposta

Dopo aver scollegato, controllato le porte, riavviato IDE, ecc. Loperazione che sembrava fare la differenza per risolvere questo errore con Arduino Mega 2560 era disinstallare il driver arduino USB di Windows, quindi reinstallarlo usando il driver qui & selezionare manualmente dallelenco> porte com > arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml potrei averlo testato sul mio uno e poi di nuovo al mega quindi cè una piccola possibilità di parlare a uno ha reso AVRDUDE felice ma improbabile.

Risposta

Quando ottengo un problema durante il caricamento sulle mie schede, carico un programma diverso come lesempio di blink. Questo sembra ripristinare qualcosa e sono quindi in grado di caricare il mio programma (che è abbastanza grande).

Potrebbe valere la pena provare questo per vedere se funziona nel tuo caso, anche se non ho idea del perché funzioni.

Commenti

  • quale scheda e bootloader?
  • Arduino Nano, ATMega328P (non di terze parti). Versione hardware: 2, versione firmware: 1.16, la firma del dispositivo è 0x1e950f Non ho controllato il bootloader, ma sono pubblicizzati come ” bootloader tradizionale ”
  • quindi la tua risposta è specifica per il vecchio bootloader Nano
  • Grazie! Guarderò i bootloader e proverò ad aggiornarli. Hai qualche informazione su questo bug?

Risposta

Ho avuto un problema simile con la mia scheda Uno

avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x90 

Ho provato molti metodi

  • Premi reset prima di inviare pacchetti
  • diverse versioni IDE
  • Cambia cavo
  • Cambia il controller stesso
  • Test di loopback

ma tutto quanto sopra non è riuscito.

I usa Ubuntu 16.04.4 LTS 4.15.0-33-generic (mentre scrivi questo commento). Il modulo CDC ACM non è stato caricato, pertanto non è stato creato alcun /dev/ttyACM0 dispositivo da selezionare in Arduino IDE -> Tools -> Port

Pertanto, Get il nome del modulo e caricarlo

$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 2341:0043 Arduino SA Uno R3 (CDC ACM) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ sudo modprobe cdc-acm 

Il comando precedente inserirà il modulo richiesto. Ora sono in grado di selezionare la porta giusta e caricare il codice

Tra varie soluzioni questo ha funzionato per me, spero che questo aiuti anche qualcuno.

Rispondi

Lho risolto aggiornando le schede (sotto “board manager”)

Commenti

  • Hai un Arduino Nano?

Risposta

Ho affrontato lo stesso problema per un po di codice oggi e ho risolto come segue:

1- Per prima cosa ho eseguito un codice lampeggiante LED di base. Ha dato lo stesso errore. Conferma che lerrore è nel caricamento e non ha nulla a che fare con la compilazione. Ho anche controllato che il mio codice fosse compilando bene.

2- Ho preso unaltra scheda, ma funzionava bene su questo PC. Ciò significa che il computer e il cavo USB sono OK.

3- Ho collegato la scheda difettosa su un altro PC e, sorprendentemente, non si è verificato alcun errore di questo tipo durante il caricamento, il che mi ha dato suggerimenti sui problemi nel driver nel primo PC.

4- Quindi ho disinstallato il driver e lho reinstallato sul primo PC scaricandolo da qui

(assicurati che mentre installi il driver da questo link, mantieni la tua scheda collegata al PC)

Ora ha funzionato bene 🙂

Risposta

Ho riscontrato questo errore nel mio laptop Linux Mint 17.3 con Arduino Nano avrdude: stk500_getsync (): non sincronizzato: resp = 0x00

Risolto:

  • rimosso tutto ciò che aveva “arduino” o “avr” nel nome
  • rimosso le directory .arduino e .arduino15 (notare il punto nel nome)
  • rimossa la versione 1.8.7 con disinstallazione del pacchetto
  • apt-get install arduino (ver 1.1.0)
  • testata con un semplice schizzo (tutto OK)
  • installato la versione 1.8.7 con linstallazione del pacchetto
  • compilato.
  • selezionato ATmega328p (vecchio bootloader) per processore, Arduino Nano per scheda e / dev / ttyUSB0 per port => FUNZIONA!

Sembra che il “Vecchio bootloader” era il trucco in questo caso. Ora ho sia la versione 1.1.0 che la 1.8.7, chi se ne frega.

Commenti

  • dovresti prima leggere la risposta di aguadopd

Risposta

Quello che ho provato è stato di non collegare una massa di una scheda allaltra massa sullaltra scheda. Questo ha risolto il problema per me.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *