GNU/Linux >> LINUX-Kenntnisse >  >> Linux

avrdude:ser_open():Gerät kann nicht geöffnet werden /dev/ttyACM0:Gerät oder Ressource ausgelastet

Ich habe ein genaues Problem mit meinem Leonardo-Board und Ubuntu. Das Hinzufügen einer Regel, die ModemManager anweist, alle USB-Geräte von dem genannten Link zu ignorieren, hat bei mir nicht funktioniert. Das Löschen von Modemmanager tat es jedoch tatsächlich.

sudo apt-get purge modemmanager


Sie zuerst Um sicherzustellen, dass Sie die richtigen Lese-/Schreibrechte haben, wie hier beschrieben, geben Sie im Wesentlichen die folgenden Befehle ein:

$ sudo adduser <username> dialout
$ sudo chmod a+rw /dev/ttyACM0

'/dev/ttyACM0' ist der Port, mit dem Ihr Arduino verbunden ist, er sollte im /dev-Ordner Ihres Stammverzeichnisses aufgeführt sein.

Zweite: Nachdem Sie festgestellt haben, an welchen Port das Arduino angeschlossen ist, und Sie die richtigen Rechte für diesen Port festgelegt haben, müssen Sie den folgenden Befehl ausführen. Ich bin mir nicht sicher, was es tut, ich bin mir nicht sicher, ob es wirklich benötigt wird, aber es hat dazu geführt, dass die Uploads bei mehreren Gelegenheiten für mich funktioniert haben

$ sudo udevadm trigger

habe diesen Befehl hier gefunden:http://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/

und dritte , finden Sie das Hochladen manchmal eine Herausforderung des Timings und des Glücks. Halten Sie den Reset gedrückt (manchmal zweimal hintereinander) und drücken Sie währenddessen die Upload-Taste Ihres Arduino-Sketch. In einem bestimmten Moment wird es funktionieren. Ich hatte mehr Glück, wenn ich ständig kleine Teile im Code änderte, also musste ich den Code zuerst kompilieren, wenn ich auf „Hochladen“ drückte.

https://www.arduino.cc/en/Guide/Troubleshooting#upload

Bei einigen Computern müssen Sie möglicherweise die Reset-Taste drücken

Ich habe noch nie mit dem Bootloader herumgespielt, noch mit ICSP-Pins und dergleichen (zum Glück)

Schauen Sie auch im Arduino-Forum oder auf dem von Ihnen bereitgestellten Link nach


Die Lösung, die für mich immer funktioniert hat, ist, zu Tools -> Port -> /dev/ttyACMx zu gehen und klicken Sie erneut auf den ausgewählten Port.

Danach lädt IDE den Code problemlos hoch.


Linux
  1. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  2. screen Ihr Terminal '/dev/pts/0' kann nicht geöffnet werden - bitte überprüfen

  3. Wie Linux /dev/tty und /dev/tty0 verwendet

  4. echo oder print /dev/stdin /dev/stdout /dev/stderr

  5. Warum sind < oder > erforderlich, um /dev/tcp

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0

Kernel:/dev/kmem und /dev/mem deaktivieren

Warum wird auf einigen Linux-Systemen das Root-Dateisystem als /dev/root statt als /dev/<realer Geräteknoten> in mtab angezeigt?

Erstellen Sie ein virtuelles Blockgerät, das in /dev/null schreibt

mdadm mdadm:/dev/sda1 kann nicht geöffnet werden:Gerät oder Ressource ausgelastet