Ich habe einen Arduino Duemilanove mit einem ATmega328 . Ich arbeite an Ubuntu 12.04 (Precise Pangolin) und die Version der Arduino IDE ist 1.0. Kürzlich habe ich versucht, einige der Beispielskizzen darauf hochzuladen, z. B. die Blink-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/ttyUSB0
unter Menü Extras → Serielle 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 Problem 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 OS X ausgeführt wurde. Die Lösung für mich bestand darin, die ausführliche Ausgabe während des Uploads einzuschalten (im Einstellungsbereich der Arduino IDE).
Beim Hochladen sehen Sie dann, wie AVRDUDE
avrdude: Send: 0 [30] [20]
unmittelbar vor demavrdude: ser_recv(): programmer is not responding
Fehler drei Pakete (mit entsprechenden Empfangsblitzen auf der Karte) sendet .Der Trick besteht darin, die Reset-Taste auf der Karte unmittelbar vor dem Senden dieser drei Pakete zu drücken. Dann wird das Programm erfolgreich hochgeladen.
quelle
Stellen Sie sicher, dass an den Tx / Rx-Pins kein Eingang vorhanden ist. Dann wird es funktionieren.
quelle
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.
quelle
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
upload
Schaltfläche.Was ist hier wichtig, um 3 oder 4
-v
zum Befehlsaufruf zu setzen . So sehen solche AVRDUDE-Befehle mit zusammengesetzten Parametern aus, da sie vollständig davon abhängen, wie das Arduino installiert wurde: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):
Rx
und bestehtTx
(normalerweise Stifte1
und0
);1
und0
Pins des Arduino nicht von einem Schild oder einem benutzerdefinierten Design verwendet werden (/!\
gilt nicht für den Leonardo, da er über eine unabhängige USB-Handhabung verfügt);FTDI
bei älteren Duemilanove oder ATmega16U2 bei neueren Arduino Unos);Normalerweise
avrdude -v -v -v -v
kann 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.Ich befürchte, dass die Tatsache, dass Sie die Stromquelle auf digitale Pins gelegt haben, Ihren Chip möglicherweise verbrannt hat, wenn Sie die Position des ATmega umgekehrt haben und es dann nicht funktioniert.
quelle
avrdude: no programmer has been specified on the command line or the config file Specify a programmer using the -c option and try again
avrdude -v -v -v -v -C/etc/avrdude.conf -patmega328 -carduino -P/dev/ttyACM0 -U flash:w:~/Arduino/WebServer/WebServer.ino.standard.hex
Versuchen Sie zu sehen, 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.
quelle
Sie können überprüfen, ob Überbrückungskabel an Pin 0 und 1 angeschlossen sind. Diese Pins werden für die serielle Kommunikation verwendet, und eingesteckte Kabel können verhindern, dass der Code auf die Karte hochgeladen wird.
Wenn nichts angeschlossen ist, liegt möglicherweise ein Fehler bei AVRDUDE vor . Sie können versuchen, ihn zu aktualisieren.
quelle
avrdude
wird ebenfalls aktualisiert und ist die neueste Version.Serial.println()
Beispiel ausprobieren , um zu überprüfen, ob es nicht nur das istled 13
.Ich bin auch auf dieses Problem gestoßen und habe es durch Neuinstallation des seriellen USB-Treibers behoben. Bitte siehe auch: http://arduino.cc/en/Guide/Howto und http://www.ftdichip.com/Drivers/VCP.htm
quelle
Der obige Fehler tritt in 3 Stufen auf
quelle
Ich habe das Problem unter OS X 10.10 (Yosemite) mithilfe der folgenden Anweisungen gelöst :
FTDI-Chip und OS X 10.10
Der von hoipolloi vorgeschlagene Trick war jedoch auch bei dieser Version eine funktionierende vorübergehende Problemumgehung .
quelle
Ich hatte das gleiche Problem bei meinem ersten Versuch mit Arduino Uno.
Meine Lösung war ganz einfach. Einfach ausstecken und dann das USB-Kabel einstecken.
quelle
Unter Windows 7 hatte ich dieses Problem mehrmals, jedes Mal mit unterschiedlichen Fehlermeldungen. Grundsätzlich sendet die IDE an den falschen Port.
Um dies zu beheben, gehen Sie einfach zu Menü Extras → Anschlüsse → [Wählen Sie den COM-Anschluss, an dem sich Ihre Karte befindet].
Stellen Sie sicher, dass Sie den Port Ihres Boards überprüfen:
Starten Sie den Geräte-Manager
Stellen Sie sicher, dass Ihr Arduino-Treiber unter dem Port aufgeführt ist, der den Porteinstellungen Ihrer IDE entspricht (siehe oben).
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:quelle
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 die Reset-Taste und der Upload ist erfolgreich.
Ich habe später festgestellt, dass das Problem durch Ändern des USB-Kabels behoben wurde.
quelle
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 1.8.9. Was für mich funktioniert hat, 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-Fix-It . 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.
quelle
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, die Reset-Taste beim Hochladen der Skizze manuell zu drücken. Wahrscheinlich ist der automatische Reset unterbrochen.
quelle
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.mpkg
Arduino zu installieren und neu zu starten.quelle
Ich dachte nur, ich möchte darauf hinweisen, dass mein brandneues Arduino Uno Rev3-Board den folgenden LInux-Treiber verwendet:
Dies wird
CONFIG_USB_ACM:
im neuesten LInux 3.x-Kernel als: -Option bezeichnet.Dieses Gerät wird dann angezeigt als:
/dev/ttyACM0
oder ähnlich.quelle
Haben Sie etwas mit dem
RESET
Pin des Arduino verbunden?Ich habe dieses Problem mit einem grafischen LCD festgestellt, das an den
RESET
Pin angeschlossen werden musste. Das Trennen des Überbrückungskabels zwischen dem LCD und demRESET
Pin während des Hochladens des Codes hat es für mich behoben. Alles, was Sie dann tun müssen, ist die Verbindung wiederherzustellen, sobald der Code hochgeladen wurde.quelle
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!
quelle
Du kannst es versuchen:
serial.debug_rate=9600
quelle
Diese Kombination der obigen Antworten löste das Problem für mich:
führte das Java-Update durch:
sudo apt-get 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 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 wird meine Arduino IDE
/dev/ttyACM0
im Menü Tools / Serielle Schnittstelle angezeigt.Jetzt funktioniert alles super!
quelle
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.
quelle
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 Fall hatte das Arduino Uno gut funktioniert, aber es hörte plötzlich auf, nachdem ich mit Skizzen gespielt hatte. Ich erhielt die
stk500_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 so 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 die folgenden Schritte ausgeführt:
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" 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] [20]
beim Hochladen der Skizze in Ihrer Konsole die drei Zeilen nicht angezeigt werden, gehen Sie wie folgt vor:Schauen Sie sich das Protokollfenster an. Sie können eine Zeile wie diese finden:
Sieht so aus, als würde es Zeilenumbrüche oder Leerzeichen wie hier verschlucken
-CE:\Program Files...
. Es sollte sein-C E:\Program Files
. Kopieren Sie dies wie in Notepad, fügen Sie fehlende Leerzeichen hinzu, um die Zeile wie folgt zu gestalten:Fügen Sie 4
-v
Anweisungen hinzu, wie ich es oben getan habe.Jetzt werden Sie dank 4
-v
Argumenten viel ausführlicher sehen . Ursprünglich verwendet Arduino Studio nur eine.quelle
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 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.
quelle
Ich habe gerade die letzten 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 neu. Sollte danach gut funktionieren. Ich habe auch jede Nacht die Arduino-Software heruntergeladen, aber ich habe keinen Unterschied gemacht.
quelle
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, die Sie von einer Konsole laden sollten:
Ich habe gerade den Chip 128 durch die 328-Version ersetzt und von Decimile wurde mein Board-Name aufgrund der neuen Baudrate 115200 in Uno oder Ethernet geändert.
quelle
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.
quelle
In meinem Fall wurde das Problem aufgeworfen, als ich versuchte, einige "seltsame" arithmetische Ausdrücke zu machen
zB (3,14 / 4) / 5 oder 3,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.
quelle
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:
quelle
Für meinen Fall war es die falsche Baudrate. Es ruft diesen Befehl auf:
Wie Sie sehen können, ist die Baudrate auf 57600 festgelegt. Wenn Sie dieses Argument (-b57600) entfernen und in der Befehlszeile ausführen, funktioniert es einwandfrei.
quelle
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.
quelle