“ avrdude: stk500_getsync (): nicht synchron: resp = 0x00, ” aka Einige Typen namens Avr haben t Lass mich mein Programm hochladen

Ich habe neulich ein großartiges Programm gemacht und wollte es auf mein Arduino hochladen. Nachdem ich auf den Upload-Button geklickt hatte, kam ein gemeiner Typ namens avr und hielt mich an und sagte:

avrdude: stk500_getsync (): nicht synchron: resp = 0x00

Ich möchte nur mein Programm hochladen, aber avr lässt mich nicht. Er ist gerade Kann mir jemand sagen, was zum Teufel er zu sagen versucht und wie er ihn loswerden kann?


dh:

Wann immer ich versuche, ein Programm hochzuladen Auf meinem Arduino wird folgende Fehlermeldung angezeigt:

avrdude: stk500_getsync (): nicht synchron: resp = 0x00

Was bedeutet das und wie kann ich das beheben?

Kommentare

  • Ziemlich häufige Fehlermeldung , nicht immer trivial zu lösen: electronic.stackexchange.com/…
  • Schöner Titel ! Ich ‚ habe diesen Fehler selbst gehabt …
  • +1 für den Titel: D … Ich hasse diesen Kerl wirklich so sehr wie Sie haben es getan!
  • Versuchen Sie, den Treiber (cp2102) für das Arduino zu installieren. Das hat mir geholfen. Vielen Dank für die vorherigen Antworten ppl 🙂
  • Dieser Beitrag vom Juni 2018 hat es für mich gelöst (1. Antwort): arduino.stackexchange.com/questions/51729 / …

Antwort

Dies ist Dies wird durch einen allgemeinen Verbindungsfehler zwischen Ihrem Computer und dem Arduino verursacht und kann aus vielen verschiedenen spezifischen Problemen resultieren.

Hier sind einige einfache Dinge, die diesen Fehler häufig beheben können:

  • Trennen Sie das USB-Kabel und schließen Sie es wieder an.
  • Drücken Sie die Reset-Taste auf der Karte.
  • Starten Sie die Arduino IDE neu.
  • Stellen Sie sicher, dass Sie die richtige Karte auswählen Tools ► Board ►, z Wenn Sie den Duemilanove 328 verwenden, wählen Sie diesen anstelle von Duemilanove 128 aus. Auf der Karte sollte angegeben sein, um welche Version es sich auf dem Mikrochip handelt.
  • Stellen Sie sicher, dass Sie in Tools ► Serial Port ►. Eine Möglichkeit, herauszufinden, an welchem Port es sich befindet, besteht darin, die folgenden Schritte auszuführen:
    1. Trennen Sie das USB-Kabel.
    2. Gehen Sie zu Tools ► Serial Port ► und sehen Sie Welche Ports aufgelistet sind (z. B. COM4 COM5 COM14).
    3. Schließen Sie das USB-Kabel wieder an.
    4. Gehen Sie zurück zu Tools ► Serial Port ► und sehen Sie, welcher Port Es wurde angezeigt, dass dies vorher nicht vorhanden war.
  • Stellen Sie sicher, dass an den digitalen Pins 0 und 1 keine Teile angeschlossen sind, einschließlich Abschirmungen.

Wenn keines dieser Verfahren funktioniert, sollten Sie versuchen, das Problem durch Ersetzen zu isolieren: Versuchen Sie es mit einem anderen Computer auf demselben Arduino, versuchen Sie es mit einem anderen Arduino auf demselben Computer und verwenden Sie ein anderes USB-Kabel.

Wenn das Problem mit dem Computer auftritt:

  • Überprüfen Sie alle Computerprobleme in der obigen Liste „Einfache Korrekturen“.
  • Installieren Sie die IDE neu.
  • Installieren Sie die Treiber neu.

Wenn das Problem mit dem Arduino auftritt:

  • Überprüfen Sie alle Probleme im Zusammenhang mit der Karte im Liste „einfache Korrekturen“ oben.
  • Stellen Sie sicher, dass der Mikrocontroller richtig sitzt.
  • Möglicherweise müssen Sie den Bootloader brennen .
  • Ersetzen den Mikrocontroller, wenn Sie einen anderen in der Nähe haben.
  • Möglicherweise haben Sie Ihren Arduino gemauert. Entschuldigung 🙁

Kommentare

  • Es gibt andere mögliche Ursachen. Sie könnten den ATmega beschädigt haben, Sie könnten den Bootloader eingeschaltet haben Beim ATmega können Stromprobleme oder eine Vielzahl anderer Möglichkeiten auftreten. Das not in sync: resp=0x00 ist wirklich ein generisches “ ATmega, das nicht reagiert “ Nachricht. Alles, was dazu führen kann, dass der ATmega nicht reagiert, kann dazu führen.
  • Kann ich also nie etwas in 0 oder 1 haben?
  • @Tim Sie können Dinge an diese Pins anschließen, aber Sie müssen sie trennen, wenn Sie über das USB-Kabel mit Ihrem Arduino kommunizieren möchten.
  • Ich habe diesen Fehler bei meinem allerersten Duemillanove vor Jahren erhalten war ein toter UART-Chip (oder eine Verbindung von USB zu UART-Chip). Sehr frustrierend. Ich kaufte einen AVR-Programmierer und brannte den Bootloader. Ich kaufte eine andere CPU mit vorinstalliertem Bootloader. War ‚ t bis Verkäufer schickte einen Ersatz, dass ich mich der Arbeit anschließen konnte ld von Arduino-Fans (und ich habe jetzt zwei Ersatz-CPUs).
  • “ Trennen Sie das USB-Kabel “ funktioniert für mich

Antwort

Ein weiterer Fix:

Ändern Sie Tools->Processor->Atmega 328P bis Atmega 328P (Old Bootloader). Denken Sie daran, dass die Option Processor nur verfügbar ist, wenn Sie unter Tools>Board bestimmte Boards auswählen.

Dies funktionierte für meinen Arduino Nano mit CH340 unter Verwendung von Arduino IDE 1.8.5 unter Linux Ubuntu 17.10. Außerdem wird dies wahrscheinlich passieren, wenn Sie IDE 1.8.9 oder neuer verwenden und einen alten oder geklonten Nano erhalten.

Kommentare

  • Das war der Lösung! Der neue Bootloader verwendet die doppelte Baudrate (115200 anstelle von 57600).

Antwort

Leider ist dies möglich bedeutet auch, dass Sie Ihren Mikrocontroller verbrannt haben. Haben Sie etwas Gefährliches getan, bevor Sie versucht haben, eine neue Skizze hochzuladen? Funktioniert der Mikrocontroller mit seiner zuvor geladenen Skizze noch?

Antwort

Wenn keiner der oben genannten Schritte funktioniert, installieren Sie Avrdude erneut und der avr-gcc-Compiler. Ich musste dies tun, nachdem mein Mega darunter gelitten hatte.

Wenn Sie Avrdude und avr-gcc separat installiert haben, deinstallieren Sie sie einfach. Wenn nicht, müssen Sie möglicherweise die Arduino IDE neu installieren. Diese Schritte hängen von Ihrem Betriebssystem ab.

Kommentare

  • Es ist sehr unwahrscheinlich, dass das Problem aufgrund der verwendeten Toolchain verursacht wird. Das ist zu extrem, IMO.
  • Worum geht es bei diesem Installationsprozess? Das Arduino-Editor-Tool ist gerade entpackt. Es findet kein Installationsvorgang statt.

Antwort

Ich habe dieselbe Nachricht erhalten. Jedes Mal, wenn dies der Fall war Dies wird durch Auswahl des richtigen Anschlusses, dh USB, im Menü Extras und dann Anschlüsse gelöst. Dies ist ein einfacher Schritt, den ich jedoch immer vergesse. Ich werde den Arduino vom Computer trennen, um das aktuelle Programm zu stoppen, ihn erneut an meinen Computer anschließen, um das neue Programm hochzuladen und abzurufen Der Fehler, die Panik, der Fluch und nur dann denken Sie daran.

Antwort

In meinem Fall hatte ich das RTS nicht verkabelt Pin des FTDI-Chips an einen Kondensator, der an den RST-Pin des Arduino Pro Mini ging. Nachdem ich diese Verbindung installiert hatte, wurde der Fehler nicht mehr angezeigt und ich konnte Code hochladen.

Nick Gammon erklärt Dies in seinem Forum . Ich habe ein Bild hinzugefügt, wo / wie der Kondensator platziert werden soll. Geben Sie hier die Bildbeschreibung ein.

Kommentare

  • +1 für das schöne Bild des USB-Programmierers, der direkt an einen Atmega-Chip angeschlossen ist.
  • Ich hatte auch einige schlechte Verbindungen auf meinem Board, habe alles ausgesteckt und eine grundlegende Skizze hochgeladen und es hat funktioniert . Stellen Sie nun fest, welches Kabel nicht am richtigen Ort ist.

Antwort

Ich hatte genau das gleiche Problem. Ich habe versucht, die IDE auf einem anderen Laptop zu installieren, und das Programm von diesem Laptop hochgeladen. Problem gelöst. Dann kehrte ich zu meinem Laptop zurück, deinstallierte die IDE und installierte sie erneut. Es begann zu funktionieren.

Ich war jedoch nicht zufrieden, weil ich die Ursache des Problems nicht finden konnte … also habe ich versucht, alles auf dieselbe Weise erneut auszuführen … Ich habe das Problem gefunden, bin mir aber nicht sicher, ob dies der Fall ist kann die eigentliche Ursache dafür sein.

In meinem Projekt musste ich eine serielle Kommunikation zwischen Arduino und MATLAB (GUI) durchführen. Um die Ausgabe (den Typ) der seriellen MATLAB (GUI) -Daten zu sehen / zu überprüfen, habe ich HYPERTERMINAL und auch VIRTUAL SERIAL PORT EMULATOR verwendet. Ich habe festgestellt, dass jedes Mal, wenn Hyperterminal ausgeführt wird oder VSPE ausgeführt wird, während mein serieller Monitor eingeschaltet ist, die Upload-Funktion des Programms beeinträchtigt wird. Ich bin mir nicht sicher, ob es an VSPE oder HYPERTERMINAL liegt, aber die Neuinstallation der IDE hat bei mir funktioniert.

Kommentare

  • Einer der Serielle Steuerleitungen, ich denke es ist DTR, werden verwendet, um das Arduino zurückzusetzen. Wenn Sie versuchen, Ihr Arduino zu programmieren, kann Ihr Terminalprogramm stören.
  • Dies funktionierte nur, wenn ich auch meinen Arduino Library-Ordner löschte, der alle Einstellungen und zusätzlichen Bibliotheken enthält.

Antwort

Für Benutzer von Linux Mint stellte ich fest, dass durch Auswahl des „TTY SO“ -Ports anstelle des mit „Arduino“ bezeichneten Port würde funktionieren (ich kann es dir nicht genau sagen, weil ich diesen Computer gerade nicht vor mir habe).

Als ich das nächste Mal das Arduino benutzte, bekam ich wieder die gleiche Meldung, also wechselte ich zurück zum „Arduino“ -Port und es hat seitdem so funktioniert.

Ich bin technisch nicht so gut informiert wie der Rest von euch, also habe ich keine Ahnung, warum das funktioniert oder was das Problem war, aber es hat funktioniert, was alles ist, was mich interessiert. Vielleicht ist dies für jemanden nützlich.

Antwort

Ich habe die IDE und die Treiber usw. deinstalliert, alles erneut installiert und dann ich führte die Arduino IDE als Administrator aus und stellte die Kompatibilität als Windows 7 ein (ich verwende derzeit 10).

Ich habe auch den Programmierer auf AVR ISP geändert (ich denke nicht, dass dies wichtig ist, aber ich hat es trotzdem geändert).

Alles funktioniert wieder … hoffentlich kann dies auch jemand anderem helfen.

Antwort

Eine ungewöhnliche, aber ich habe die Mikrocontroller viel ausgetauscht, und ich habe diesen Fehler erhalten, als einer nicht war. Ich konnte ein paar Mal brennen, aber ich denke, es ist wieder herausgerutscht – ein kleiner Druck auf die Rückseite des ATMega328 hat es behoben!

Antwort

Es besteht auch die Möglichkeit, dass der Controller selbst falsch in den Sockel des Arduino eingesetzt wird. Dies kann für den Controller gefährlich sein (der möglicherweise gezappt wird), aber in meinem Fall wurde nur der Fehler „Nicht synchron“ ausgegeben, sodass ich keinen Code hochladen konnte.

Überprüfen Sie also einfach, ob die Kerbe auf dem IC vorhanden ist ist in die richtige Richtung (Sie können mit Bildern von Board online überprüfen). Die Kerbe am Controller des Uno sollte zum Rand der Platine zeigen.

Antwort

Dieser Fehler ist ebenfalls aufgetreten. Es war das erste Mal, dass ich eine neue Arduino Nano-Platine verwendete, nachdem ich Header angelötet hatte. Wenn ich nur die Blink-Skizze drückte, war nichts mit der Platine verbunden.

Ich fand einen winzigen Lötmangel zwischen GROUND und RESET Ich habe es abgeholt und konnte es dann hochladen.

Ich nehme an, dies könnte passieren, wenn Sie irgendwo den gleichen Kurzschluss auf einer Schaltung hatten.

Antwort

Hatte gerade denselben Fehler mit einem brandneuen Mini Pro. Da das mit den meisten Arduino vorinstallierte Standard-Blinkprogramm ausgeführt wird, weiß ich, dass das Gerät wahrscheinlich in Ordnung ist.

Also habe ich die Header überprüft, die ich gerade noch einmal gelötet habe, und festgestellt, dass die TX0-Stifte nicht genügend Lötmittel enthalten. Nach dem erneuten Löten aller Arbeiten.

Antwort

Nach vielem Herausziehen, Überprüfen der Ports, Neustarten der IDE usw. Th Die Behebung dieses Fehlers mit Arduino Mega 2560 schien darin zu bestehen, den Windows-USB-Arduino-Treiber zu deinstallieren und ihn dann mithilfe des Treibers hier neu zu installieren. & Wählen Sie manuell aus den COM-Ports der Liste> > arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Ich habe es vielleicht auf meinem Uno getestet und bin dann zurück zum Mega, also gibt es eine kleine Chance zu reden zu dem uno machte AVRDUDE glücklich aber unwahrscheinlich.

Antwort

Wenn beim Hochladen auf meine Boards ein Problem auftritt, lade ich ein anderes Programm wie das Blink-Beispiel hoch. Dies scheint etwas zurückzusetzen und ich kann dann mein eigenes Programm hochladen (das ziemlich groß ist).

Es könnte sich lohnen, dies zu versuchen, um zu sehen, ob es in Ihrem Fall funktioniert, obwohl ich keine Ahnung habe, warum es funktioniert.

Kommentare

  • Welches Board und welcher Bootloader?
  • Arduino Nano, ATMega328P (nicht von Drittanbietern). Hardwareversion: 2, Firmware-Version: 1.16, Gerätesignatur ist 0x1e950f Ich habe den Bootloader nicht überprüft, aber sie werden als “ traditioneller Bootloader “
  • Ihre Antwort ist also spezifisch für den alten Nano-Bootloader.
  • Danke! Ich werde mir Bootloader ansehen und versuchen, sie zu aktualisieren. Haben Sie Informationen zu diesem Fehler?

Antwort

Ich hatte ein ähnliches Problem mit meinem Uno-Board

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

Viele Methoden ausprobiert

  • Drücken Sie Reset, bevor Sie Pakete senden
  • verschiedene IDE-Versionen
  • Kabel wechseln
  • Controller selbst wechseln
  • Loopback-Test

, aber alle oben genannten Schritte sind fehlgeschlagen.

I. Verwenden Sie Ubuntu 16.04.4 LTS 4.15.0-33-generic (während Sie diesen Kommentar schreiben). Das CDC-ACM-Modul wurde nicht geladen, daher wurde kein /dev/ttyACM0 Gerät erstellt, das in Arduino IDE -> Tools -> Port

ausgewählt werden kann Geben Sie den Modulnamen ein und laden Sie ihn.

$ 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 

Mit dem obigen Befehl wird das erforderliche Modul eingefügt. Jetzt kann ich den richtigen Port auswählen und den Code hochladen.

Aus verschiedenen Lösungen, die für mich funktioniert haben, hoffe ich, dass dies auch jemandem hilft.

Antwort

Ich habe es gelöst, indem ich die Boards aktualisiert habe (unter „Board Manager“).

Kommentare

  • Haben Sie einen Arduino Nano?

Antwort

Ich hatte heute bei einigen Codes das gleiche Problem und habe es gelöst es wie folgt:

1- Zuerst habe ich einen grundlegenden LED-Blinkcode ausgeführt. Er hat den gleichen Fehler ausgegeben. Er bestätigt, dass der Fehler beim Hochladen vorliegt und nichts mit dem Kompilieren zu tun hat. Ich habe auch überprüft, ob mein Code korrekt ist Kompilieren in Ordnung.

2- Ich habe eine andere Karte genommen, aber auf diesem PC hat es einwandfrei funktioniert. Das bedeutet, dass der Computer und das USB-Kabel in Ordnung sind.

3- Ich habe die fehlerhafte Karte angeschlossen auf einen anderen PC, und überraschenderweise gab es beim Hochladen keinen solchen Fehler. Dies gab mir Hinweise auf Probleme mit dem Treiber im ersten PC.

4- Also habe ich den Treiber deinstalliert und auf dem ersten PC neu installiert, indem ich ihn von hier

heruntergeladen habe (Stellen Sie sicher, dass Sie während der Installation des Treibers über diesen Link Ihr Board mit dem PC verbunden halten.)

Es hat jetzt einwandfrei funktioniert 🙂

Antwort

Ich hatte diesen Fehler in meinem Linux Mint 17.3-Laptop mit Arduino Nano avrdude: stk500_getsync (): nicht synchron: resp = 0x00

Gelöst:

  • entfernte alles, was „arduino“ oder „avr“ in seinem Namen hatte.
  • entfernte Verzeichnisse .arduino und .arduino15 (Beachten Sie den Punkt im Namen)
  • entfernt Version 1.8.7 mit Deinstallation des Pakets
  • apt-get install arduino (Version 1.1.0)
  • getestet mit einer einfachen Skizze (alles in Ordnung)
  • installiert Version 1.8.7 mit der Installation des Pakets
  • kompiliert.
  • ausgewählt ATmega328p (alter Bootloader) für Prozessor, Arduino Nano für Karte und / dev / ttyUSB0 für Port => ES FUNKTIONIERT!

Es scheint, dass der „alte Bootloader“ war der Trick in diesem Fall. Ich habe jetzt beide Version 1.1.0 und Version 1.8.7, wen interessiert das?

Kommentare

  • Sie sollten zuerst die Antwort von aguadopd

Antwort

Ich habe versucht, nicht eine Masse einer Karte mit der anderen Masse der anderen Karte zu verbinden. Dies hat das Problem für mich gestoppt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.