banner



Arduino Sketch Lässt Sich Nicht Hochladen

Problem beim Hochladen der Arduino-Skizze - avrdude: stk500_recv (): Der Programmierer antwortet nicht


Ich habe einen Arduino Duemilanove mit einem ATmega328 . Ich arbeite an Ubuntu 12.04 (Precise Pangolin) und die Version der Arduino IDE ist one.0. Kürzlich habe ich versucht, einige der Beispielskizzen darauf hochzuladen, z. B. die Glimmer-Skizze. Keiner meiner Versuche funktioniert jedoch und führt bei jedem Versuch zum gleichen Fehler:

avrdude: stk500_recv (): Der Programmierer antwortet nicht.

Ich habe /dev/ttyUSB0unter Menü ExtrasSerielle Schnittstelle aktiviert . Ich habe auch das richtige Board (Duemilanove mit ATmega328) aus der Liste ausgewählt. Ich kann das Problem jedoch nicht lösen. Ich habe auch online gesucht und keine der anderen Antworten auf dieses Trouble scheint für mich zu funktionieren. Warum stoße ich auf dieses Problem und wie kann ich es beheben?

Ich habe auch versucht, den integrierten ATmega zu drehen und in die andere Richtung zu montieren. Jetzt habe ich keine Probleme beim Hochladen, aber danach passiert nichts mehr. Die integrierte LED scheint ebenfalls nicht zu blinken.



Antworten:


Ich hatte dieses Problem mit einem Crowduino, auf dem die Arduino IDE unter Bone X ausgeführt wurde. Die Lösung für mich bestand darin, dice ausführliche Ausgabe während des Uploads einzuschalten (im Einstellungsbereich der Arduino IDE).

Beim Hochladen sehen Sie dann, wie AVRDUDEavrdude: Send: 0 [xxx] [20] unmittelbar vor dem avrdude: ser_recv(): programmer is not respondingFehler drei Pakete (mit entsprechenden Empfangsblitzen auf der Karte) sendet .

Der Fob besteht darin, die Reset-Taste auf der Karte unmittelbar vor dem Senden dieser drei Pakete zu drücken. Dann wird das Programm erfolgreich hochgeladen.







Stellen Sie sicher, dass an den Tx / Rx-Pins kein Eingang vorhanden ist. Dann wird es funktionieren.




Ich hatte das gleiche Problem - deshalb habe ich diese Frage gefunden.

Ich musste nur den Prozessor von "ATmego328P" auf "ATmego328P (Old Bootloader)" ändern.

Problem gelöst - zumindest für mich.

Geben Sie hier die Bildbeschreibung ein







Es gibt einige Voodoo-Gespräche in den Antworten hier unter guten Ideen. Lassen Sie uns versuchen, ein bisschen realer darüber zu sein, was passiert, und die guten Dinge zusammenfassen, die überprüft werden müssen:

Grundsätzlich ist es in diesem Fall eine gute Idee, den ausführlichen Modus für AVRDUDE zu aktivieren , um eine bessere Vorstellung davon zu bekommen, was passiert. Dazu müssen Sie nur in den Einstellungen das Kontrollkästchen für den ausführlichen Modus aktivieren. Es ist auch eine gute Idee, sich von der Arduino IDE zu entfernen und eine Konsole zu starten, um die Ausgabe von AVRDUDE besser lesen zu können. Klicken Sie dazu auf die uploadSchaltfläche.

Was ist hier wichtig, um 3 oder 4 -fivezum Befehlsaufruf zu setzen . So sehen solche AVRDUDE-Befehle mit zusammengesetzten Parametern aus, da sie vollständig davon abhängen, wie das Arduino installiert wurde:

                avrdude -five -v -five -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U wink:w:/path/to/firmware.hex                              

Eine gute Möglichkeit, die richtige Befehlszeile zu verwenden, besteht darin, sie aus der ausführlichen Ausgabe des Arduino IDE-Ausgabeprotokolls zu kopieren, wenn die Ausführlichkeit aktiviert wurde.

Wenn Sie erhalten avrdude: stk500_recv(): programmer is not responding, bedeutet dies im Grunde, dass etwas falsch passiert, bevor das Blinken tatsächlich beginnt.

Grundsätzlich müssen Sie Folgendes überprüfen (von Hardware zu Software, von niedriger zu hoher Ebene):

  • wenn das Kabel und / oder die Stecker keine Mikroschnitte haben;
  • Wenn keine Lötpunkte kurzgeschlossen sind (dh etwas Metallisches berühren), bedeutet dies:
    • wenn auf der Leiterplatte kein Kurzschluss zwischen Rxund besteht Tx(normalerweise Stifte aneund 0);
    • wenn es keinen Kontakt mit einem metallischen Element unter der Platine oder winzigen Teilen zwischen den Beinen einer Komponente gibt (wie dem FTDI, dem ATmega- Chip oder einem anderen);
  • wenn der ATmega-Flake nicht stromlos ist (GND / V CC- Verknüpfung oder -Schnitt oder 5 CC- Eingang ist tot…);
  • wenn dice iund 0Pins des Arduino nicht von einem Schild oder einem benutzerdefinierten Design verwendet werden ( /!\golden nicht für den Leonardo, da er über eine unabhängige USB-Handhabung verfügt);
  • wenn der USB-zu-UART-Konverter kein Trouble hat ( FTDIbei älteren Duemilanove oder ATmega16U2 bei neueren Arduino Unos);
  • wenn der ATmega328- Chip gebraten oder falsch installiert ist;
  • wenn der Bootloader überschrieben wurde oder ausfällt;
  • wenn die richtige Baudrate für die Eingabe des Bootloaders angewendet wird;
  • wenn dice richtigen Einstellungen für den Zielmikrocontroller und die Zielplatine vorgenommen wurden;

Normalerweise avrdude -v -five -v -vkann das viel helfen, herauszufinden, in welchem ​​Stadium es fehlschlägt. Ob es überhaupt keine USB-Verbindung herstellen kann (Kabelfehler, USB / UART, PCB…) oder ein Bootloader-Problem ist.

Update : Ich habe versucht, den integrierten ATmega zu drehen und in die andere Richtung zu montieren. Jetzt habe ich keine Probleme beim Hochladen, aber danach passiert nichts mehr. Die integrierte LED scheint ebenfalls nicht zu blinken.

Ich befürchte, dass die Tatsache, dass Sie die Stromquelle auf digitale Pins gelegt haben, Ihren Flake möglicherweise verbrannt lid, wenn Sie die Position des ATmega umgekehrt haben und es dann nicht funktioniert.







Versuchen Sie zu sehen, ob Ihr Lath richtig ausgewählt wurde. Klicken Sie auf das Menü Extras -> Karte und prüfen Sie, ob die richtige Karte ausgewählt ist.





Sie können überprüfen, ob Überbrückungskabel an Pin 0 und one angeschlossen sind. Diese Pins werden für dice serielle Kommunikation verwendet, und eingesteckte Kabel können verhindern, dass der Code auf dice Karte hochgeladen wird.

Wenn nichts angeschlossen ist, liegt möglicherweise ein Fehler bei AVRDUDE vor . Sie können versuchen, ihn zu aktualisieren.






Der obige Fehler tritt in 3 Stufen auf

  1. Wenn der Bootloader abgestürzt ist
  2. Wenn Sie in der IDE nicht den richtigen Port und die richtige Karte ausgewählt haben
  3. Wenn Sie mit einem anderen seriellen Anschluss kommunizieren, sind GND und Tx-Pin mit einem anderen Kommunikationsgerät verbunden



Ich hatte das gleiche Trouble bei meinem ersten Versuch mit Arduino Uno.

Meine Lösung war ganz einfach. Einfach ausstecken und dann das USB-Kabel einstecken.


Unter Windows 7 hatte ich dieses Trouble mehrmals, jedes Mal mit unterschiedlichen Fehlermeldungen. Grundsätzlich sendet dice IDE an den falschen Port.

Um dies zu beheben, gehen Sie einfach zu Menü ExtrasAnschlüsse → [Wählen Sie den COM-Anschluss, an dem sich Ihre Karte befindet].

Stellen Sie sicher, dass Sie den Port Ihres Boards überprüfen:

  1. Starten Sie den Geräte-Manager

    Startmenü

  2. Stellen Sie sicher, dass Ihr Arduino-Treiber unter dem Port aufgeführt ist, der den Porteinstellungen Ihrer IDE entspricht (siehe oben).

    Gerätemanager

  3. Mein Board ist unter Port aufgeführt COM1. Wenn Sie möchten, können Sie den Port einfach in den erweiterten Einstellungen des Treibers ändern:

    Geben Sie hier die Bildbeschreibung ein


Ich habe dieses Problem auf meinem Arduino, der auch auf dem Mac läuft. Es passiert auf zwei meiner Arduinos (einem Arduino Uno und einem mit FTDI verbundenen Arduino Pro).

Beim Uno schließe ich das Kabel an meinen Computer an, drücke Upload und beginne dann mit dem Zählen, bis die LED "TX" blinkt. Wiederholen Sie dann den Upload, aber kurz bevor die TX-LED blinkt, drücken Sie dice Reset-Taste und der Upload ist erfolgreich.

Ich habe später festgestellt, dass das Trouble durch Ändern des USB-Kabels behoben wurde.



Ich poste dies, weil ich diese Antwort nicht anderswo gefunden habe. Alle meine Arduino Nano Chinese (CH340) Klone hatten dieses Problem nach dem Upgrade auf die Arduino IDE auf i.8.9. Was für mich funktioniert lid, war die Verwendung eines Ersatz-Arduino Uno, mit dem ich den Bootloader auf den fehlerhaften Nanos mithilfe der ICSP-Header auf dem Nano brennen muss. Dazu habe ich nur die Anweisungen hier befolgt : Chinesischer Klon von Arduino-Nano mit Chip-ch340g-How-to-Set up-Information technology . Das EINZIGE, was ich anders gemacht habe, war, immer die Option "Alter Bootloader" zu setzen, wie zuvor in diesem Thread gesagt. Ansonsten habe ich die Anweisungen auf diesem Link vollständig befolgt und meine Nanos vor diesem nervigen Problem bewahrt. Ich hoffe, dass dies jemandem da draußen hilft.


Stellen Sie zunächst sicher, dass / dev / ttyUSB0 funktioniert. ZB Maus einstecken und prüfen, ob es funktioniert. Versuchen Sie zweitens, eine andere Karte auszuwählen. Es kommt häufig vor, dass nicht originale Boards unter ihren Namen nicht richtig erkannt werden. Drittens versuchen Sie, dice Reset-Sense of taste beim Hochladen der Skizze manuell zu drücken. Wahrscheinlich ist der automatische Reset unterbrochen.


Ich habe ein Problem in meinem Fall gelöst, indem ich alte FDTM-Treiber von hier heruntergeladen und installiert habe .

Versuchen Sie, FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkgArduino zu installieren und neu zu starten.



Ich dachte nur, ich möchte darauf hinweisen, dass mein brandneues Arduino Uno Rev3-Board den folgenden LInux-Treiber verwendet:

              Device Drivers     |-USB Drivers   |-USB Modem (CDC ACM) back up                          

Dies wird CONFIG_USB_ACM:im neuesten LInux 3.10-Kernel als: -Option bezeichnet.

Dieses Gerät wird dann angezeigt als: /dev/ttyACM0oder ähnlich.


Haben Sie etwas mit dem RESETPin des Arduino verbunden?

Ich habe dieses Trouble mit einem grafischen LCD festgestellt, das an den RESETPivot angeschlossen werden musste. Das Trennen des Überbrückungskabels zwischen dem LCD und dem RESETPin während des Hochladens des Codes hat es für mich behoben. Alles, was Sie dann tun müssen, ist dice Verbindung wiederherzustellen, sobald der Lawmaking hochgeladen wurde.


Ich habe die Ursache dafür gefunden ...

Das Ändern meiner seriellen Schnittstelle in /dev/tty.usbmodem2131 hat das Problem behoben. Es stellte sich heraus, dass ich die ganze Zeit die falsche serielle Schnittstelle verwendet habe!


Du kannst es versuchen:

  • Checken Sie in settings.txt serial.debug_rate ein: serial.debug_rate=9600
  • Andernfalls versuchen Sie, beim Hochladen die Reset-Taste Ihres Arduino zu drücken.
  • Else Sie eine andere Karte in den Arduino IDE - Menü auszuwählen Werkzeugen und dann Ihre Karte in der Liste erneut auswählen.

Diese Kombination der obigen Antworten löste das Trouble für mich:

  • führte das Coffee-Update durch:

    sudo apt-go install default-jdk

  • tötete dann die Arduino IDE und startete sie neu

  • Mein korrektes Board wurde jetzt angezeigt (Arduino Mega 2560, wo zuvor Mega 1280 nur eine Pick war).

  • Für die Fahrer habe ich folgendes gemacht:

    sudo chmod a+rw /dev/serial/by-id/usb-Arduino__www.arduino.cc__(a bunch of numbers)

Danach wird meine Arduino IDE /dev/ttyACM0im Menü Tools / Serielle Schnittstelle angezeigt.

Jetzt funktioniert alles super!



Hier ist eine Lösung, die für mich auf einem MacBook Pro (Desktop) funktioniert hat .

Ich habe den gleichen Fehler erhalten und es stellte sich heraus, dass der USB-Anschluss an ein Peripheriegerät (meinen Monitor) und nicht an einen USB-Stick am PC selbst angeschlossen war. Es hat alle Fehler sofort gestoppt und ist eine einfache Lösung.


Vielen Dank an @hoipolloi für die richtige Richtung bei der Suche nach der Lösung.

Wie auch immer, ich musste ein bisschen andere Schritte machen, um das Problem zu beheben.

In meinem Autumn hatte das Arduino Uno gut funktioniert, aber es hörte plötzlich auf, nachdem ich mit Skizzen gespielt hatte. Ich erhielt diestk500_recv(): programmer is not responding ganze Zeit und nichts funktionierte. Dann habe ich darauf geachtet, dass die LED 13 auf meinem Board immer leuchtet. Es sah and then aus, als würde eine Skizze mit harten Schleifen immer wieder auf dem Board laufen und jede Eingabe in das Board blockieren. Ich bin mir nicht sicher, es ist nur meine Vermutung.

Ich habe versucht, in allen möglichen Momenten ohne Glück auf RESET zu klicken, und plötzlich dice folgenden Schritte ausgeführt:

  1. Ziehen Sie den Stecker aus der Steckdose.
  2. Klicken und halten Sie RESET.
  3. Stecken Sie es wieder ein.
  4. Warten Sie einige Sekunden.
  5. Lassen Sie die RESET-Taste los.

Danach bemerkte ich, dass dice integrierte 13-LED für eine Sekunde ausgeschaltet und dann wieder eingeschaltet wurde. Es sah and so aus, als gäbe es ein kurzes Reset-Fenster, als die Karte tatsächlich zurückgesetzt wird. Dann, wie in @ hoipollois Lösung, habe ich den Moment des "Zurücksetzens" eingefangen, kurz bevor die drei Pakete gesendet wurden und das funktionierte.

Ich hoffe, dies wird Ihnen helfen, das Problem herauszufinden, wenn keine der anderen Lösungen funktioniert.

TIPP . Wenn Send: 0 [30] [twenty]beim Hochladen der Skizze in Ihrer Konsole dice drei Zeilen nicht angezeigt werden, gehen Sie wie folgt vor:

  1. Klicken Sie in Ihrer Arduino IDE auf "Hochladen".
  2. Schauen Sie sich das Protokollfenster an. Sie können eine Zeile wie diese finden:

                      E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CE:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:west:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i                                  
  3. Sieht so aus, als würde es Zeilenumbrüche oder Leerzeichen wie hier verschlucken -CE:\Program Files.... Es sollte sein -C E:\Plan Files. Kopieren Sie dies wie in Notepad, fügen Sie fehlende Leerzeichen hinzu, um dice Zeile wie folgt zu gestalten:

                      E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -five -v -five -v -C "Eastward:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -patmega328p -carduino -PCOM3 -b115200 -D -U wink:west:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i                                  
  4. Fügen Sie 4 -fiveAnweisungen hinzu, wie ich es oben getan habe.

  5. Öffnen Sie dice Befehlszeile, fügen Sie den Befehl ein und führen Sie ihn aus.

Jetzt werden Sie dank 4 -vArgumenten viel ausführlicher sehen . Ursprünglich verwendet Arduino Studio nur eine.


Haben Sie den Treiber für das FTDI-Kabel installiert / aktualisiert? (Schritt drei auf http://arduino.cc/en/Guide/Howto ). Das Ausführen der Arduino IDE von meinem Raspberry Pi aus funktionierte einwandfrei, ohne dice Treiber explizit zu installieren (entweder waren sie vorinstalliert oder das Arduino IDE-Installationsprogramm lid sich darum gekümmert). Auf meinem Mac war dies nicht der Autumn und ich musste die Kabeltreiber zusätzlich zur IDE installieren.


Ich habe gerade dice letzten Stunden mit diesem Thema verbracht ... Gehen Sie einfach hier " http://world wide web.ftdichip.com/Drivers/VCP.htm ", laden Sie die neuesten Treiber herunter und starten Sie neu. Sollte danach gut funktionieren. Ich habe auch jede Nacht die Arduino-Software heruntergeladen, aber ich habe keinen Unterschied gemacht.


Versuchen Sie, ein Programm ohne -b zu laden (die Baudratenoption). Setzen Sie in ~ / .arduino15 / settings.txt build.verbose = true, wenn arduino.cc nicht ausgeführt wird. In der ausführlichen Ausgabe finden Sie die Hex-Datei, dice Sie von einer Konsole laden sollten:

              avrdude -v -v -v -v -C/usr/share/arduino/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB2  -D -Uflash:westward:/tmp/build2314497724350388190.tmp/sketch_nov13b.cpp.hex:i                          

Ich habe gerade den Chip 128 durch die 328-Version ersetzt und von Decimile wurde mein Lath-Proper name aufgrund der neuen Baudrate 115200 in Uno oder Ethernet geändert.


Wenn Sie Ihr Arduino über einen USB-Hub anschließen, versuchen Sie stattdessen, es direkt an einen der USB-Anschlüsse des Mac anzuschließen.
Das hat bei mir funktioniert.


In meinem Fall wurde das Problem aufgeworfen, als ich versuchte, einige "seltsame" arithmetische Ausdrücke zu machen

zB (iii,14 / four) / five oder three,15% 2,55

Daher würde ich Ihnen empfehlen, alle arithmetischen Ausdrücke zu überprüfen, falls einige vom Arduino nicht berechnet werden können.

Ich hoffe es hilft.


In meinem Fall (Mini Pro) war die Lösung so einfach, nicht sicher, wie ich das verpasst habe. Ich musste RX / TX-Drähte kreuzen.

Lösung:

  • Der Arduino Rx Pivot geht an den FTDI Tx Pin.
  • Der Arduino Tx-Pin geht an den FTDI Rx-Pin.

Für meinen Fall war es die falsche Baudrate. Es ruft diesen Befehl auf:

              C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 **-b57600** -D -Uflash:due west:C:\Users\Vahid\AppData\Local\Temp\arduino_build_527841/AnalogReadSerial.ino.hex:i                          

Wie Sie sehen können, ist dice Baudrate auf 57600 festgelegt. Wenn Sie dieses Argument (-b57600) entfernen und in der Befehlszeile ausführen, funktioniert es einwandfrei.


Mein Problem war, dass ich die Arduino IDE auf eine neue Version aktualisiert und den Draht nicht wieder angeschlossen habe. Sieht so aus, als wäre das das Problem

Trennen Sie einfach das Kabel und schließen Sie es wieder an. Vielen Dank.

Source: https://qastack.com.de/programming/19765037/arduino-sketch-upload-issue-avrdude-stk500-recv-programmer-is-not-respondi

Posted by: gassowit1972.blogspot.com

0 Response to "Arduino Sketch Lässt Sich Nicht Hochladen"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel