“ avrdude: stk500_getsync (): ikke synkronisert: resp = 0x00, ” aka Some Dude Named Avr Won ' t Let Me Upload My Program

Jeg lagde et fantastisk program forleden dag, og jeg ønsket å laste det opp til min Arduino. Etter å ha klikket på opplastingsknappen kom det noen dude som heter avr og stoppet meg og sa:

avrdude: stk500_getsync (): ikke synkronisert: resp = 0x00

Alt jeg vil gjøre er å bare laste opp programmet mitt, men avr vil ikke la meg. Han er til og med uforståelig, så kan noen fortelle meg hva pokker han prøver å si og hvordan bli kvitt ham?


dvs.:

Når jeg prøver å laste opp et program til min Arduino får jeg denne feilmeldingen:

avrdude: stk500_getsync (): ikke synkronisert: resp = 0x00

Hva betyr dette, og hvordan kan jeg fikse det?

Kommentarer

Svar

Dette er forårsaket av en generisk tilkoblingsfeil mellom datamaskinen din og Arduino, og kan skyldes mange forskjellige spesifikke problemer.

Her er noen enkle ting som ofte kan løse denne feilen:

  • Koble fra og koble til USB-kabelen.
  • Trykk på tilbakestillingsknappen på kortet.
  • Start Arduino IDE på nytt.
  • Sørg for at du velger riktig kort i Tools ► Board ►, f.eks Hvis du bruker Duemilanove 328, velger du det i stedet for Duemilanove 128. Brettet skal si hvilken versjon det er på mikrochipet.
  • Forsikre deg om at du valgte riktig port i Tools ► Serial Port ►. En måte å finne ut hvilken port den er på, er å følge disse trinnene:
    1. Koble fra USB-kabelen.
    2. Gå til Tools ► Serial Port ► og se hvilke porter som er oppført (f.eks. COM4 COM5 COM14).
    3. Koble til USB-kabelen på nytt.
    4. Gå tilbake til Tools ► Serial Port ►, og se hvilken port dukket opp som ikke var der før.
  • Forsikre deg om at digitale pinner 0 og 1 ikke har noen tilkoblede deler, inkludert skjold.

Hvis ingen av disse fungerer, vil du prøve å isolere problemet ved å erstatte ting: prøv en annen datamaskin på samme arduino, prøv en annen arduino på samme datamaskin, og prøv å bruke en annen USB-kabel.

Hvis problemet er med datamaskinen:

  • Dobbeltsjekk alle datamaskinrelaterte problemer i «enkle reparasjoner» -listen ovenfor.
  • Installer IDE på nytt.
  • Installer driverne på nytt.

Hvis problemet er med Arduino:

  • Dobbeltsjekk alle brettrelaterte problemer i listen over «enkle reparasjoner» ovenfor.
  • Forsikre deg om at mikrokontrolleren sitter riktig.
  • Du må kanskje brenne oppstartslasteren .
  • Bytt ut mikrokontrolleren hvis du har en annen praktisk i nærheten.
  • Du kan ha muret Arduinoen din. Beklager 🙁

Kommentarer

  • Det er andre mulige årsaker. Du kan ha skadet ATmega, du kan ha skadet bootloaderen på ATmega, du kan ha strømproblemer, eller et utall andre muligheter. not in sync: resp=0x00 er virkelig en generisk » ATmega svarer ikke » -melding. Alt som kan føre til at ATmega ikke svarer kan forårsake det.
  • Kan jeg ikke ha noe i 0 eller 1 noen gang?
  • @Tim Du kan koble ting til disse pinnene, men du må koble dem hvis du vil kommunisere med Arduino via USB-kabelen.
  • Jeg fikk denne feilen på min aller første Duemillanove for mange år siden. var en død UART-brikke (eller tilkobling fra USB til UART-brikke). Veldig frustrerende. Jeg kjøpte en AVR-programmerer og brente bootloaderen. Kjøpte en annen CPU med bootloader forhåndslastet. Var ikke ‘ t til leverandøren sendte en erstatning som jeg var i stand til å bli med på wor ld av Arduino-fans (og jeg har nå to ekstra CPUer).
  • » Koble fra og koble til USB-kabelen » fungerer for meg

Svar

En annen løsning:

Endre Tools->Processor->Atmega 328P til Atmega 328P (Old Bootloader). Husk at alternativet Processor bare er tilgjengelig når du velger noen spesifikke kort på Tools>Board.

Dette fungerte for min Arduino Nano med CH340, ved hjelp av Arduino IDE 1.8.5 under Linux Ubuntu 17.10. Dessuten vil dette sannsynligvis skje hvis du bruker IDE 1.8.9 eller nyere og du får en gammel eller klonet nano.

Kommentarer

  • Det var løsning! Den nye opplasteren bruker dobbelt baudrate (115200 i stedet for 57600).

Svar

Dessverre kan den betyr også at du har brent mikrokontrolleren din. Gjorde du noe farlig rett før du prøvde å laste opp en ny skisse? Fungerer mikrokontrolleren fremdeles med sin tidligere innlastede skisse?

Svar

Hvis ingen av trinnene ovenfor fungerer, kan du prøve å installere Avrdude på nytt. og avr-gcc-kompilatoren. Jeg måtte gjøre dette etter at Mega begynte å lide av dette.

Hvis du installerte Avrdude og avr-gcc separat, bare avinstallere dem. hvis ikke, må du kanskje installere Arduino IDE på nytt. Disse trinnene avhenger av operativsystemet ditt.

Kommentarer

  • Det er svært lite sannsynlig at problemet ville være forårsaket på grunn av at verktøykjeden ble brukt. Dette er for ekstremt, IMO.
  • Hva er denne installasjonsprosessen du snakker om? Arduino-redigeringsverktøyet er bare pakket ut. Det er ingen installasjonsprosess.

Svar

Jeg har hatt den samme meldingen. Hver gang det har vært løst ved å velge riktig port, dvs. USB under menyen Verktøy og deretter Porter. Det er et enkelt trinn, men jeg glemmer alltid. Jeg kobler fra Arduino for å stoppe det nåværende programmet, plugger det inn igjen på datamaskinen min for å laste opp det nye programmet og få feil, panikk, forbannelse, og bare da, husk.

Svar

I mitt tilfelle hadde jeg ikke koblet RTS pin av FTDI-brikken til en kondensator som gikk til RST-pinnen til Arduino Pro Mini. Når jeg installerte denne tilkoblingen, fikk jeg ikke lenger feilen, og jeg klarte å laste opp kode.

Nick Gammon forklarer dette i forumet hans . Jeg har lagt til et bilde av hvor / hvordan kondensatoren skal plasseres. skriv inn bildebeskrivelse her

Kommentarer

  • +1 for det fine bildet av usb-programmerer-tilkoblingen direkte til en atmega-chip.
  • Jeg hadde også noen dårlige tilkoblinger på brettet mitt, jeg koblet fra alt og lastet opp en grunnleggende skisse og det fungerte . Nå skal du finne ut hvilken kabel som ikke er på rett sted

Svar

Jeg hadde akkurat det samme problemet. Jeg prøvde å installere IDE i en annen bærbar datamaskin og lastet opp programmet fra den bærbare datamaskinen. Problem løst. Så kom jeg tilbake til den bærbare datamaskinen min, avinstallerte IDE og installerte den på nytt .. den begynte å fungere.

Jeg var imidlertid ikke fornøyd fordi jeg ikke kunne finne kilden til problemet … så jeg prøvde å kjøre alt igjen på samme nøyaktige måte … Jeg fant problemet, men ikke sikker på om det kan være den faktiske årsaken til det.

I prosjektet mitt trengte jeg å utføre seriell kommunikasjon mellom arduino og MATLAB (GUI). For å se / verifisere utdata (type) av MATLAB (GUI) serielle data, brukte jeg HYPERTERMINAL og også VIRTUAL SERIAL PORT EMULATOR. Jeg la merke til at hver gang når hyperterminal kjører eller VSPE kjører mens min serielle skjerm er på, skruer den opp opplastingsfunksjonen til programmet. Jeg er ikke sikker på om det skyldes VSPE eller HYPERTERMINAL, men å installere IDE på nytt fungerte for meg.

Kommentarer

  • En av Serielle kontrolllinjer, jeg tror det er DTR, brukes til å tilbakestille Arduino. Når du prøver å programmere Arduino, kan terminalprogrammet forstyrre.
  • Dette fungerte bare for meg da jeg også slettet Arduino Library-mappen min, som inneholder alle innstillinger og ekstra libs.

Svar

For folk som bruker Linux Mint, fant jeg ut at ved å velge «TTY SO» -porten i stedet for den som er merket «Arduino», ville fungere (jeg kan ikke fortelle deg nøyaktig fordi jeg ikke har den datamaskinen foran meg akkurat nå).

Så neste gang jeg brukte Arduino fikk jeg igjen den samme meldingen, så jeg byttet tilbake til «Arduino» -porten, og det har fungert sånn siden.

Jeg er ikke så teknisk kunnskapsrik som resten av dere, så jeg aner ikke hvorfor dette fungerer eller hva problemet var, men det fungerte som er alt jeg bryr meg om. Kanskje dette vil være nyttig for noen.

Svar

Jeg avinstallerte IDE og drivere osv., Installerte alt igjen, så jeg kjørte Arduino IDE som administrator og satt til å kjøre kompatibilitet som windows 7 (jeg bruker for øyeblikket 10).

Jeg endret også programmereren til AVR ISP (jeg tror ikke dette betyr noe, men jeg endret det uansett).

Alt fungerer igjen … forhåpentligvis kan dette hjelpe noen andre også.

Svar

En uvanlig, men jeg har byttet ut mikrocontrollerne mye, og jeg fikk denne feilen når en ikke var » satt ikke riktig .. Jeg klarte å brenne et par ganger, men antar at den gled ut igjen – et lite trykk på baksiden av ATMega328 fikset det!

Svar

Det er også mulighet for at selve kontrolleren blir plassert feil vei i kontakten på Arduino. Dette kan være farlig for kontrolleren (som kan bli zapped), men i mitt tilfelle ga det bare feil ut av synkronisering, og forhindret meg i å laste opp kode.

Så bare sjekk om hakket på IC er i riktig retning (du kan kryssjekke med bilder av tavle online). Hakket på Unos kontroller skal peke mot kanten av brettet.

Svar

Jeg hadde denne feilen også kommet opp. Det var første gang jeg brukte et nytt Arduino Nano-brett etter at jeg hadde loddet på topptekster. Bare å dekke til Blink Sketch, var ingenting koblet til brettet.

Jeg fant et lite kort loddetinn mellom GROUND og RESET Jeg valgte den og så kunne jeg laste den opp.

Jeg antar at dette kan skje hvis du hadde samme kortslutning et sted.

Svar

Bare hadde den samme feilen med en helt ny Mini Pro. Siden standard blinkprogrammet som ble forhåndslastet med de fleste Arduino kjører, vet jeg at enheten sannsynligvis er OK.

Så jeg inspiserte topptekstene jeg bare loddet en gang til, og fant ut at det ikke var nok lodding på TX0-pinnene. Etter å ha loddet på nytt.

Svar

Etter mye frakobling, kontroll av porter, omstart av IDE osv. Th ting som så ut til å gjøre en forskjell å fikse denne feilen med Arduino Mega 2560 var å avinstallere Windows USB arduino-driveren og deretter installere den på nytt ved hjelp av driveren her & velg manuelt fra listen> com porter > arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Jeg har kanskje testet det på min uno så tilbake til mega så det er en liten sjanse til å snakke til uno gjort AVRDUDE lykkelig men usannsynlig.

Svar

Når jeg får et problem med å laste opp til tavlene mine, laster jeg opp et annet program som blinkeksemplet. Dette ser ut til å tilbakestille noe, og jeg kan da laste opp mitt eget program (som er ganske stort).

Det kan være verdt å prøve dette for å se om det fungerer i ditt tilfelle, selv om jeg ikke aner hvorfor det fungerer.

Kommentarer

  • hvilket kort og bootloader?
  • Arduino Nano, ATMega328P (ikke tredjepart). Maskinvareversjon: 2, firmwareversjon: 1.16, enhetssignaturen er 0x1e950f Jeg har ikke sjekket bootloader, men de blir annonsert som » tradisjonell bootloader »
  • så svaret ditt er spesifikt for gammel Nano bootloader
  • Takk! Jeg vil se på bootloaders og prøve å oppgradere den. Har du informasjon om denne feilen?

Svar

Jeg hadde et lignende problem med Uno-kortet mitt

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

Prøvde mange metoder

  • Trykk på reset før du sender pakker
  • forskjellige IDE-versjoner
  • Bytt kabel
  • Endre kontrolleren selv
  • Loopback-test

men alt ovenfor mislyktes.

I bruk Ubuntu 16.04.4 LTS 4.15.0-33-generic (mens du skriver denne kommentaren). CDC ACM-modulen ble ikke lastet, derfor ble ingen /dev/ttyACM0 -enhet opprettet for å velge i Arduino IDE -> Tools -> Port

Derfor, få modulnavnet og last det

$ 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 

Kommandoen ovenfor vil sette inn den nødvendige modulen. Nå kan jeg velge riktig port og laste opp koden

Av forskjellige løsninger, dette fungerte for meg, håper dette også hjelper noen.

Svar

Jeg løste det ved å oppdatere tavlene (under «styreleder»)

Kommentarer

  • Har du en Arduino Nano?

Svar

Jeg møtte det samme problemet for en eller annen kode i dag, og jeg løste det som følger:

1- Først kjørte jeg en grunnleggende LED-blinkende kode. Den ga den samme feilen. Den bekrefter at feilen er i opplasting og har ingenting å gjøre med å kompilere. Jeg sjekket også at koden min var kompilerer fint.

2- Jeg tok et nytt kort, men det fungerte bra på denne PC-en. Det betyr at datamaskinen og USB-kabelen er OK.

3- Jeg koblet til det defekte kortet til en annen PC, og overraskende nok var det ingen slik feil ved opplasting. Det ga meg et hint om problemer i driveren på den første PCen.

4- Så jeg avinstallerte driveren og installerte den på nytt på den første PCen ved å laste ned fra her

(sørg for at mens du installerer driveren fra denne lenken, holder du kortet ditt koblet til PC-en)

Det fungerte bra nå 🙂

Svar

Jeg hadde denne feilen i min Linux Mint 17.3 laptop med Arduino Nano avrdude: stk500_getsync (): ikke synkronisert: resp = 0x00

Løst:

  • fjernet alt som hadde «arduino» eller «avr» i navnet
  • fjernet kataloger .arduino og .arduino15 (Merk prikken i navnet)
  • fjernet ver 1.8.7 med avinstallering av pakken
  • apt-get install arduino (ver 1.1.0)
  • testet med en enkel skisse (alt OK)
  • installert ver 1.8.7 med installasjonen av pakken
  • kompilert.
  • valgt ATmega328p (gammel bootloader) for prosessor, Arduino Nano for kort og / dev / ttyUSB0 for port => DET FUNGERER!

Det ser ut til at «Old bootloader» var trikset i dette tilfellet. Jeg har nå begge ver 1.1.0 og 1.8.7, hvem bryr seg.

Kommentarer

  • du bør først lese svaret fra aguadopd

Svar

Det jeg prøvde var å ikke koble den ene bakken på den ene brettet til den andre bakken på den andre brettet. Dette stoppet problemet for meg.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *