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 vorbei und hielt mich an und sagte:
avrdude: stk500_getsync (): nicht synchronisiert: resp = 0x00
Alles was ich tun möchte , ist mein Programm nur hochladen, aber avr lässt mich nicht. Er ist sogar unverständlich. Kann mir jemand sagen, was zum Teufel er sagen will und wie er ihn loswerden kann?
dh:
Immer wenn ich versuche, ein Programm auf mein Arduino hochzuladen, erhalte ich folgende Fehlermeldung:
avrdude: stk500_getsync (): nicht synchronisiert: resp = 0x00
Was bedeutet das und wie kann ich das beheben?
Antworten:
Dies wird durch einen allgemeinen Verbindungsfehler zwischen Ihrem Computer und dem Arduino verursacht und kann auf viele verschiedene spezifische Probleme zurückzuführen sein.
Hier sind einige einfache Dinge, die diesen Fehler häufig beheben können:
Tools ► Board ►
Stellen Sie sicher, dass Sie das richtige Board in auswählen , z. B. Wenn Sie den Duemilanove 328 verwenden, wählen Sie diesen anstelle von Duemilanove 128 aus. Auf dem Board sollte angegeben werden, welche Version auf dem Mikrochip vorhanden ist.Tools ► Serial Port ►
. Gehen Sie folgendermaßen vor, um herauszufinden, an welchem Port er angeschlossen ist:Tools ► Serial Port ►
und sehen Sie, welche Ports aufgelistet sind (zB COM4 COM5 COM14).Tools ► Serial Port ►
und sehen Sie, welcher Port zuvor noch nicht vorhanden war.Wenn keine dieser Funktionen funktioniert, sollten Sie versuchen, das Problem zu isolieren, indem Sie Dinge ersetzen: Versuchen Sie es mit einem anderen Computer auf demselben Arduino, versuchen Sie es mit einem anderen Arduino auf demselben Computer und versuchen Sie es mit einem anderen USB-Kabel.
Wenn das Problem beim Computer liegt:
Wenn das Problem mit dem Arduino ist:
quelle
not in sync: resp=0x00
ist wirklich eine generische "ATmega antwortet nicht" Nachricht. Alles, was dazu führen kann, dass der ATmega nicht reagiert, kann dazu führen.Ein weiterer Fix:
Wechseln Sie
Tools->Processor->Atmega 328P
zuAtmega 328P (Old Bootloader)
. Beachten Sie, dass dieseProcessor
Option nur verfügbar ist, wenn Sie bestimmte Boards unter auswählenTools>Board
.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.
quelle
Leider kann es auch bedeuten, dass Sie Ihren Mikrocontroller verbrannt haben. Haben Sie etwas Gefährliches getan, bevor Sie versuchten, eine neue Skizze hochzuladen? Funktioniert der Mikrocontroller mit seiner zuvor geladenen Skizze noch?
quelle
Wenn keiner der oben genannten Schritte funktioniert, installieren Sie Avrdude und den avr-gcc-Compiler erneut. Ich musste das tun, nachdem meine Mega darunter zu leiden begann.
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.
quelle
Ich habe die gleiche Nachricht erhalten. Jedes Mal, wenn es gelöst wurde, wählen Sie den richtigen Anschluss, dh USB, im Menü Extras und dann Anschlüsse. Es ist ein einfacher Schritt, aber ich vergesse immer. Ich werde den Arduino ausstecken, um das aktuelle Programm zu stoppen, ihn erneut an meinen Computer anschließen, um das neue Programm hochzuladen und den Fehler, die Panik und den Fluch zu bekommen, und erst dann daran denken.
quelle
In meinem Fall hatte ich den RTS-Pin des FTDI-Chips nicht mit einem Kondensator verbunden, 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 den Code hochladen.
Nick Gammon erklärt dies in seinem Forum . Ich habe ein Bild hinzugefügt, wo / wie der Kondensator platziert werden soll.
quelle
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 fing an zu funktionieren.
Ich war jedoch nicht zufrieden, da ich die Ursache des Problems nicht finden konnte. Also habe ich versucht, alles auf die gleiche Weise erneut auszuführen. Ich habe das Problem gefunden, bin mir aber nicht sicher, ob das die eigentliche Ursache sein kann .
In meinem Projekt musste ich eine serielle Kommunikation zwischen arduino und MATLAB (GUI) durchführen. Um die Ausgabe (Typ) der seriellen MATLAB (GUI) -Daten zu überprüfen, habe ich HYPERTERMINAL und auch VIRTUAL SERIAL PORT EMULATOR verwendet. Ich habe festgestellt, dass jedes Mal, wenn Hyperterminal oder VSPE ausgeführt wird, während mein serieller Monitor eingeschaltet ist, die Upload-Funktion des Programms durcheinander gebracht wird. Ich bin nicht sicher, ob es an VSPE oder HYPERTERMINAL liegt, aber die Neuinstallation der IDE hat bei mir funktioniert.
quelle
Für Leute, die Linux Mint verwenden, stellte ich fest, dass es funktionieren würde, wenn sie den "TTY SO" -Port anstelle des "Arduino" -Ports auswählen (ich kann es Ihnen nicht genau sagen, da ich diesen Computer gerade nicht vor mir habe). .
Als ich das nächste Mal das Arduino benutzte, bekam ich wieder die gleiche Nachricht, also wechselte ich zurück zum "Arduino" -Port und es hat seitdem so funktioniert.
Ich bin nicht so technisch versiert wie der Rest von euch, also habe ich keine Ahnung, warum das funktioniert oder was das Problem war, aber es hat funktioniert, was mich interessiert. Vielleicht ist das für jemanden nützlich.
quelle
Ich habe die IDE und die Treiber usw. deinstalliert, alles erneut installiert, dann die Arduino IDE als Administrator ausgeführt und die Kompatibilität auf Windows 7 eingestellt (ich verwende derzeit 10).
Ich habe auch den Programmierer auf AVR ISP umgestellt (ich glaube nicht, dass das wichtig ist, aber ich habe es trotzdem geändert).
Alles funktioniert wieder ... hoffentlich kann dies auch jemand anderem helfen.
quelle
Ein ungewöhnliches Problem, aber ich habe die Mikrocontroller oft ausgetauscht, und ich bekam diesen Fehler, wenn einer nicht richtig sitzt. Ich konnte ein paar Mal brennen, aber ich denke, es ist wieder herausgerutscht - ein kleiner Druck auf den Rücken vom ATMega328 behoben!
quelle
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 (was zu einem Zapping führen kann), aber in meinem Fall gab es nur einen nicht synchronen Fehler, sodass ich keinen Code hochladen konnte.
Prüfen Sie also einfach, ob die Kerbe am IC in die richtige Richtung zeigt (Sie können sie mit den Bildern der Platine online abgleichen). Die Kerbe am Controller des Uno sollte zur Kante der Platine zeigen.
quelle
Ich hatte diesen Fehler auch aufgetaucht. Es war das erste Mal, dass ich ein neues Arduino Nano-Board verwendete, nachdem ich Header angelötet hatte. Wenn Sie nur die Blink-Skizze drehen, ist nichts mit dem Board verbunden.
Ich habe einen winzigen Lotmangel zwischen den Stiften GROUND und RESET gefunden. Ich habe es abgeholt und dann konnte ich es ok hochladen.
Ich nehme an, das könnte passieren, wenn Sie irgendwo denselben Kurzschluss auf einer Rennstrecke hatten.
quelle
Hatte gerade den gleichen Fehler mit einem brandneuen Mini Pro. Da das Standard-Blink-Programm, das mit den meisten Arduino vorinstalliert war, 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 verlötet habe, und festgestellt, dass die TX0-Pins nicht genügend verlötet sind. Nach dem erneuten Löten funktioniert alles.
quelle
Nach vielem Ausstecken, Überprüfen der Ports, Neustarten der IDE usw. Das Problem, das bei der Behebung des Fehlers mit Arduino Mega 2560 zu bestehen schien, bestand darin, den Windows-USB-Arduino-Treiber zu deinstallieren und ihn dann mithilfe des Treibers hier neu zu installieren und manuell aus der Liste auszuwählen com ports> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Möglicherweise habe ich Ich habe es auf meinem Uno getestet und bin dann zurück zum Mega, sodass es eine kleine Chance gibt, mit dem Uno zu sprechen, was AVRDUDE glücklich, aber unwahrscheinlich macht.
quelle
Wenn ich ein Problem beim Hochladen auf meine Boards bekomme, lade ich ein anderes Programm hoch, wie das Blink-Beispiel. 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 festzustellen, ob es in Ihrem Fall funktioniert, obwohl ich keine Ahnung habe, warum es funktioniert.
quelle
Ich hatte ein ähnliches Problem mit meinem Uno-Board
Versuchte viele Methoden
aber alle oben genannten scheiterten.
Ich benutze Ubuntu 16.04.4 LTS
4.15.0-33-generic
(während ich diesen Kommentar schreibe). Das CDC ACM Modul nicht geladen wurde, also keine/dev/ttyACM0
wurde Gerät auszuwählen in geschaffenArduino IDE -> Tools -> Port
Rufen Sie daher den Modulnamen ab und laden Sie ihn
Der obige Befehl fügt das erforderliche Modul ein. Jetzt kann ich den richtigen Port auswählen und den Code hochladen
Von den verschiedenen Lösungen, die dies für mich funktionierte, hoffe, dass dies auch jemandem hilft.
quelle
Ich habe es durch ein Update der Boards gelöst (unter "Board Manager")
quelle
Ich hatte heute bei einigen Codes das gleiche Problem und habe es folgendermaßen gelöst:
1- Zuerst habe ich einen einfachen LED-Blinkcode eingegeben. Es gab den gleichen Fehler. Es bestätigt, dass der Fehler beim Hochladen auftritt und nichts mit dem Kompilieren zu tun hat. Ich habe auch überprüft, ob mein Code korrekt kompiliert wurde.
2- Ich habe ein anderes Board genommen, aber es hat auf diesem PC einwandfrei funktioniert. Das bedeutet, dass der Computer und das USB-Kabel in Ordnung sind.
3- Ich habe die fehlerhafte Karte an einen anderen PC angeschlossen und es gab überraschenderweise keinen solchen Fehler beim Hochladen. Das gab mir Hinweise auf Treiberprobleme 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 während der Installation des Treibers über diesen Link Ihr Board mit dem PC verbunden bleibt.)
Es hat jetzt gut funktioniert :-)
quelle
Ich hatte diesen Fehler in meinem Linux Mint 17.3-Laptop mit Arduino Nano: stk500_getsync (): nicht synchronisiert: resp = 0x00
Gelöst:
Es scheint, dass der "alte Bootloader" in diesem Fall der Trick war. Ich habe jetzt beide ver 1.1.0 und 1.8.7, wen interessiert das.
quelle