Ich habe einen Arduino Duemilanove mit einem Atmega 328. Ich arbeite an Ubuntu 12.04 und die Arduino IDE-Version ist 1.0. Vor kurzem habe ich versucht, einige der Beispielskizzen darauf zu laden, beispielsweise die Blink-Skizze. Keiner meiner Versuche funktioniert jedoch und führt bei jedem Versuch zu demselben Fehler - avrdude: stk500_recv (): Der Programmierer antwortet nicht.
Ich habe '/ dev/ttyUSB0' unter Tools -> Serial Port aktiviert. Ich habe auch die richtige Karte (Duemilanove mit Atmega 328) 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 Problem scheint für mich zu funktionieren. Kann mir jemand sagen, warum ich auf dieses Problem stoße, und mir helfen, es zu lösen?
Update : Ich habe versucht, die integrierte Atmega zu drehen und in die andere Richtung einzubauen. Nun treten beim Hochladen keine Probleme auf, aber danach passiert nichts. Die Onboard-LED scheint auch nicht zu blinken.
Ich hatte dieses Problem mit einem Crowduino, das Arduino IDE unter OSX ausführte. Die Lösung für mich bestand darin, die ausführliche Ausgabe während des Uploads einzuschalten (im Voreinstellungsfenster von arduino IDE).
Beim Hochladen können Sie sehen, dass drei Pakete avrdude: Send: 0 [30] [20]
(mit entsprechenden RX-Blitzen auf der Platine) unmittelbar vor dem avrdude: ser_recv(): programmer is not responding
-Fehler gesendet werden.
Der Trick besteht darin, die Reset-Taste auf der Platine 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 keine Eingaben vorhanden sind, dann funktioniert es.
Ich weiß, dass dies ein alter Beitrag ist, aber es gibt ein paar Voodoo-Gespräche in den Antworten hier unter guten Ideen. Lassen Sie uns versuchen, etwas realistischer zu sein, was passiert, und fassen Sie die guten Dinge zusammen:
Grundsätzlich ist es in diesem Fall sinnvoll, den ausführlichen Modus für avrdude
zu aktivieren, um eine bessere Vorstellung davon zu erhalten, was passiert. Dazu müssen Sie nur in den Voreinstellungen gehen und das Kä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, indem Sie auf die Schaltfläche upload
klicken.
Was hier wichtig ist, ist 3 oder 4 -v
für den Befehlsaufruf. So sieht es aus wie solche avrdude-Befehle, deren Parameter völlig abhängig sind, wie der Arduino installiert wurde:
avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex
Eine gute Möglichkeit, die richtige Befehlszeile zu verwenden, ist das Kopieren der ausführlichen Ausgabe des Arduino IDE -Protokolls, wenn die Ausführlichkeit aktiviert wurde.
Wenn Sie avrdude: stk500_recv(): programmer is not responding
erhalten, bedeutet dies im Grunde, dass etwas Falsches passiert, bevor das Blinken beginnt. Grundsätzlich müssen Sie prüfen (von Hardware zu Software, Low Level bis High Level):
Rx
und Tx
kein Kurzschluss vorliegt (normalerweise Pins 1
und 0
);1
- und 0
-Pins des Arduino nicht von einem bestimmten Schild oder benutzerdefinierten Design verwendet werden (/!\
gilt nicht für den Leonardo, da er über ein unabhängiges USB-Handling verfügt);FTDI
bei älterem duemilanove oder Atmega16U2
bei neueren Unos);in der Regel kann der avrdude -v -v -v -v
bei der Suche nach Fehlern helfen. Ob es überhaupt keine USB-Verbindung herstellen kann (Kabelfehler, USB/UART, PCB ...) oder ein Problem mit dem Bootloader ist.
Update : Ich habe versucht, die integrierte Atmega zu drehen und in die andere Richtung einzubauen. Nun treten beim Hochladen keine Probleme auf, aber danach passiert nichts. Die Onboard-LED scheint auch nicht zu blinken.
Ich befürchte, dass, wenn Sie die Position der Atmega umgedreht haben und dies nicht funktioniert, die Tatsache, dass Sie die Stromquelle auf digitale Pins gelegt haben, Ihren Chip verbrannt hat.
Prüfen Sie, ob Ihr Board 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 prüfen, ob Steckbrücken an Pin 0 und 1 angeschlossen sind. Diese Pins werden für die serielle Kommunikation verwendet, und eingesteckte Drähte können verhindern, dass der Code auf die Platine geladen wird.
Wenn nichts angeschlossen ist, liegt möglicherweise ein Fehler mit avrdude
vor. Sie können versuchen, es zu aktualisieren.
Ich hoffe es hilft! :)
Dieses Problem habe ich auch getroffen und durch die Neuinstallation des seriellen USB-Treibers behoben. Bitte sehen Sie auch: http://arduino.cc/de/Guide/Howto und http://www.ftdichip.com/Drivers/VCP.htm
Der obige Fehler tritt in 3 Stufen auf
Ich hatte das gleiche Bei meinem ersten Versuch von Arduino UNO . Meine Lösung war ziemlich einfach. Einfach ausstecken und USB-Kabel einstecken. Ich hoffe es funktioniert für Sie.
Ich habe das Problem unter OS X Yosemite 10.10 mit den folgenden Anweisungen behoben:
http://www.mommosoft.com/blog/2014/10/24/ftdi-chip-and-os-x-10-10/
Der von hoipolloi vorgeschlagene Trick war jedoch auch in dieser Version ein funktionierender temporärer Workaround.
Unter Windows 7 hatte ich dieses Problem mehrfach, jedes Mal mit unterschiedlichen Fehlermeldungen. Grundsätzlich sendet die IDE an den falschen Port. Um dies zu beheben, gehen Sie einfach auf "Tools" -> "Ports" -> [wählen Sie den COM-Port aus, auf dem sich Ihre Karte befindet].
Stellen Sie sicher, dass Sie den Port Ihres Boards überprüfen:
1) Starten Sie den Gerätemanager
2) Stellen Sie sicher, dass Ihr Arduino-Treiber unter dem Port aufgeführt ist, der den Porteinstellungen Ihrer IDE entspricht (oben erwähnt).
3) Mein Board ist unter Port COM1
aufgeführt. Wenn Sie möchten, können Sie einfach den Port in den erweiterten Einstellungen des Treibers ändern:
Ich habe dieses Problem auf meinem Arduino, das auch unter Mac läuft. Es passiert auf zwei meiner Arduinos (A Arduino Uno und Arduino Pro verbunden mit FTDI).
Beim Uno schließe ich das Kabel an meinen Computer an und drücke "Upload". Dann fange ich an zu zählen, bis die LED "TX" blinkt. Wiederholen Sie dann den Upload, aber kurz bevor die TX-LED blinkt, drücken Sie die Reset-Taste, und der Upload ist erfolgreich.
Ich stellte später fest, dass das Problem durch das Ändern des USB-Kabels behoben wurde.
Du kannst es versuchen:
serial.debug_rate=9600
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.
Ich meine, die UNO hatte gut funktioniert, hörte aber plötzlich auf, nachdem sie mit Skizzen gespielt hatte. Ich habe die ganze Zeit die stk500_recv(): programmer is not responding
erhalten und nichts hat funktioniert. Dann habe ich darauf geachtet, dass die LED 13 auf meinem Board immer an ist. Es sah so aus, als würde eine fest geschlungene Skizze immer wieder auf der Tafel laufen und jede Eingabe auf der Tafel blockieren. Nicht sicher, es ist nur meine Vermutung.
Ich habe versucht, in allen möglichen Momenten ohne Glück auf RESET zu klicken, und habe plötzlich die folgenden Schritte versucht:
Danach bemerkte ich, dass die integrierte 13-LED für eine Sekunde ausgeschaltet und dann wieder eingeschaltet wurde. Es sah 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" kurz bevor die 3 Pakete gesendet wurden und das hat funktioniert.
Hoffe, dies wird Ihnen helfen, das Problem herauszufinden, wenn keine andere Lösung funktioniert.
TIP . Wenn beim Hochladen der Skizze in Ihrer Konsole die drei Zeilen Send: 0 [30] [20]
Nicht angezeigt werden, gehen Sie wie folgt vor:
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:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i
-CE:\Program Files...
Verschluckt. Es sollte -C E:\Program Files
Sein. Kopieren Sie dies wie folgt in den Editor, fügen Sie fehlende Leerzeichen hinzu, um die Zeile folgendermaßen zu gestalten:E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -v -v -v -v -C "E:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -patmega328p -carduino -PCOM3 -b115200 -D -U flash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i
-v
- Anweisungen hinzu, wie oben beschrieben.Jetzt werden Sie dank 4 -v
Argumenten viel ausführlicher sehen. Ursprünglich verwendet Arduino Studio nur einen.
Ich dachte nur, ich würde darauf hinweisen, dass mein brandneues Arduino Uno Rev3 Board den folgenden LInux-Treiber verwendet:
Device Drivers
|-USB Drivers
|-USB Modem (CDC ACM) support
Dies wird im neuesten LInux 3.x-Kernel als Option: CONFIG_USB_ACM:
bezeichnet.
Dieses Gerät erscheint dann als: /dev/ttyACM0
oder ähnlich.
ich dachte nur, ich würde eine Lösung hinzufügen, die auf einem Mac Pro (Desktop) läuft.
Ich habe die gleiche Fehlermeldung erhalten und es stellte sich heraus, dass ich den USB-Anschluss an ein Peripheriegerät (meinen Monitor) und nicht einen USB-Anschluss am PC selbst angeschlossen hatte. Fehler sofort abgebrochen und eine einfache Lösung.
Haben Sie etwas mit dem RESET
-Pin am Arduino zu tun?
Dieses Problem ist bei einer Grafik LCD aufgetreten, bei der eine Verbindung zum RESET
-Pin hergestellt werden musste. Wenn Sie den Jumper-Draht zwischen dem LCD und dem RESET
-Pin entfernen, während der Code hochgeladen wurde, wurde er für mich repariert. Alles, was Sie tun müssen, ist, die Verbindung wiederherzustellen, sobald der Code hochgeladen wurde.
Ich habe ein Problem in meinem Fall gelöst, indem ich alte FDTM-Treiber von hier heruntergeladen und installiert habe.
Installieren Sie FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg
und starten Sie Arduino erneut.
Diese Kombination der obigen Antworten löste das Problem für mich:
hat das Java Update durchgeführt:
Sudo apt-get install default-jdk
dann tötete das Arduino IDE und startete es neu
mein korrektes Board wurde jetzt angezeigt (Arduino Mega 2560, wo vorher Mega 1280 nur Option 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 zeigt mein arduino IDE im Menü tools/serial port /dev/ttyACM0
an
Jetzt funktioniert alles super!
also fand ich die Ursache dafür ... Das Ändern meiner seriellen Schnittstelle in /dev/tty.usbmodem2131 hat sie behoben. Es stellte sich heraus, dass ich die ganze Zeit über die falsche serielle Schnittstelle verwendet habe!
Stellen Sie zunächst sicher, dass/dev/ttyUSB0 funktioniert. Z.B. Stecken Sie die Maus ein und prüfen Sie, ob es funktioniert. Zweitens, wählen Sie eine andere Karte aus. Nicht-Original-Boards werden oft nicht richtig unter ihrem Namen erkannt. Drittens: Drücken Sie beim Zurücksetzen der Skizze die Reset-Taste manuell. Möglicherweise ist das automatische Zurücksetzen defekt.
Versuchen Sie, ein Programm ohne -b (die Option "Baudrate") zu laden. In ~/.arduino15/preferences.txt set build.verbose = true, wenn arduino.cc nicht ausgeführt wird. In der ausführlichen Ausgabe finden Sie die Hex-Datei, die 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:w:/tmp/build2314497724350388190.tmp/sketch_nov13b.cpp.hex:i
Ich ersetze einfach den Chip 128 durch die 328-Version und von Decimile wurde mein Board-Name aufgrund der neuen Baudrate 115200 in Uno oder Ethernet geändert.
In meinem Fall (Mini Pro) war die Lösung so einfach, nicht sicher, wie ich das vermisst habe.
Lösung:
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:w:C:\Users\Vahid\AppData\Local\Temp\arduino_build_527841/AnalogReadSerial.ino.hex:i
Wie Sie sehen, ist die Baudrate auf 57600 eingestellt. Wenn Sie dieses Argument entfernen (-b57600) und es in der Befehlszeile ausführen, funktioniert es einwandfrei.
Wenn Sie Ihr Arduino über einen USB-Hub anschließen, versuchen Sie, es stattdessen direkt an einen der USB-Anschlüsse des Mac anzuschließen.
.__Das hat bei mir funktioniert.
Dies könnte verzögert sein, aber es hat mich getroffen: Stellen Sie sicher, dass Ihr USB-Kabel (auf der Arduino-Seite) richtig angeschlossen ist (vollständig angeschlossen). Stellen Sie sicher, dass das Gerät wie hier beschrieben (für Windows) erkannt wurde: https://stackoverflow.com/a/26913070/3361975
Für mich war es so einfach, die richtigen Ports einzustellen.
Um dies festzulegen, gehen Sie zu Extras> Port und wechseln Sie von COM1 zum entsprechenden Port.
Danach hat mein Programm korrekt funktioniert
Ich habe versucht, mein Servo an den Arduino 5V-Pin anzuschließen, den Prozessor bunt zu machen, und deshalb habe ich diesen Fehler bekommen
avrdude: stk500_recv (): Der Programmierer antwortet nicht
Lösung: Kaufen Sie ein neues Arduino und ein externes 5V-Netzteil für das Servo.
Ich poste dies, weil ich diese Antwort an keiner anderen Stelle gefunden habe. Alle meine Arduino nano chinese (CH340) -Klone hatten dieses Problem, nachdem sie auf Arduino IDE auf 1.8.9 aktualisiert wurden. Was für mich funktioniert hat, war die Verwendung eines offiziellen 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 folgenden Anweisungen befolgt: chinesischer-Klon-von-Arduino-Nano-mit-Chip-ch340g-wie-es-zu-reparieren . Das Einzige, was ich anders gemacht habe, war, immer die "Old Bootloader" -Option zu setzen, wie zuvor in diesem Thread gesagt. Ansonsten habe ich die Anweisungen auf diesem Link vollständig befolgt und meine Nanos vor diesem ärgerlichen Problem bewahrt. Ich hoffe, das hilft jemandem da draußen.
Haben Sie den Treiber für das FTDI-Kabel installiert/aktualisiert? (Schritt drei auf http://arduino.cc/de/Guide/Howto ). Das Ausführen des Arduino IDE von meinem Raspberry Pi funktionierte gut, ohne die Treiber explizit zu installieren (entweder waren sie vorinstalliert oder das Arduino IDE -Installationsprogramm hat sich darum gekümmert). Auf meinem Mac war dies nicht der Fall und ich musste die Kabeltreiber zusätzlich zur IDE installieren.
Ich hatte das gleiche Problem mit dem Arduino Due, der größte Teil der vorgeschlagenen Lösung funktionierte nicht. Die L LED war konstant an. Mein Problem wurde durch die Deinstallation der IDE und die Auswahl der experimentellen Version 1.5.8 gelöst. In der Platine wählte ich die untere Option Arduino Due (Programmierport). Natürlich müssen Sie den USB-Port am Programmierport anschließen auch.
Ich hatte das gleiche Problem und löste es selbst.
Erstens: Ich habe eine (OSEPP UNO r3 PLUS). Es ist ein Arduino UNO REV 3 von OSEPP.
Ich habe gerade eine OSEPP Motor- und Servo Controller-Abschirmung gekauft. Ich habe gerade Motoren in Betrieb genommen und bin dann auf den gleichen Fehler gestoßen. avrdude: stk500_recv (): Der Programmierer antwortet nicht.
Ich denke, während es angeschlossen wurde, hat es eine neue serielle Schnittstelle erstellt/zugewiesen. Gefunden im arduino-Programm unter "Tools> Serial Port". Ich habe gerade diejenige wiedergewählt, die sich auf die UNO und das BAM bezog, Problem gelöst.
Hoffentlich hilft das jemandem.
Ich habe gerade die letzten paar Stunden mit diesem Thema verbracht ... Gehen Sie einfach hier " http://www.ftdichip.com/Drivers/VCP.htm ", laden Sie die neuesten Treiber herunter und starten Sie den Computer neu. Sollte danach gut funktionieren. Ich habe auch jede Nacht die Arduino-Software heruntergeladen, aber ich weiß nicht, dass das einen Unterschied macht.
Ich musste richtig board auswählen. Gehen Sie beispielsweise zu Tools -> Boards ->Arduino Nano.
In meinem Fall trat das Problem auf, als ich versuchte, einige "seltsame" arithmetische Ausdrücke auszuführen
zB (3,14/4)/5 oder 3,15% 2,55
Ich empfehle Ihnen daher überprüfen Sie alle arithmetischen Ausdrücke, falls einige von ihnen vom Arduino nicht berechnet werden können.
Ich hoffe es hilft.