Arduino IDE stellt keine Verbindung zum Mikrocontroller her


7

Ich erhalte diesen Fehler, wenn ich versuche, über eine serielle USB-Verbindung eine Verbindung zu einem Arduino herzustellen. Ich verwende die Arduino IDE 1.0.1 und die 64-Bit-Version von Ubuntu 12.04. Dies ist seit 10.04 ein wiederkehrendes Problem und tritt bei einigen anderen Programmen auf, die ebenfalls eine serielle Verbindung verwenden. Ich habe kein Problem damit, serielle Daten mit Python oder Screen vom Arduino abzurufen. Die Arduino IDE scheint ansonsten einwandfrei zu funktionieren.

processing.app.SerialException: Error opening serial port '/dev/ttyACM0'.
at processing.app.Serial.<init>(Serial.java:178)
at processing.app.Serial.<init>(Serial.java:92)
at processing.app.SerialMonitor.openSerialPort(SerialMonitor.java:207)
at processing.app.Editor.handleSerial(Editor.java:2447)
at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:353)
at java.awt.Component.processMouseEvent(Component.java:6386)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
at java.awt.Component.processEvent(Component.java:6154)
at java.awt.Container.processEvent(Container.java:2045)
at java.awt.Component.dispatchEventImpl(Component.java:4750)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4294)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
at java.awt.Container.dispatchEventImpl(Container.java:2089)
at java.awt.Window.dispatchEventImpl(Window.java:2518)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:96)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.awt.EventQueue$2.run(EventQueue.java:629)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.awt.EventQueue$3.run(EventQueue.java:643)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter
at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:171)
at processing.app.Serial.<init>(Serial.java:163)
... 35 more

TYVM! Es dauerte Stunden, um herauszufinden, was falsch ist. hörte plötzlich auf zu arbeiten, nachdem ich mit verschiedenen Skizzen herumgespielt hatte.

Antworten:


12

Ich hatte auch dieses Problem. Es stellte sich heraus, dass der serielle Monitor auf Geschwindigkeit 14400 eingestellt war. Da Sie die Einstellung nicht ändern können, ohne über eine funktionierende serielle Schnittstelle zu verfügen, besteht die einzige Möglichkeit darin, die Arduino-Benutzeroberfläche und zu beenden Bearbeiten Sie die Datei settings.txt (unter Unix ist sie in ~/.arduino/preferences.txt). Suchen Serial.debug_rateund ändern Sie es in 9600. Starten Sie die Arduino-Benutzeroberfläche neu und versuchen Sie, eine einfache Skizze hochzuladen (z. B. "blinken"), um festzustellen, ob das Problem dadurch behoben wurde.

Ich bin mir nicht sicher, warum dies passieren würde - ich habe 14400 verwendet und hatte nie ein Problem. Ich denke, es ist nur eines dieser seltsamen Probleme, die niemals einen wiederholbaren Grund zu haben scheinen.


Die zwei verschiedenen Versionen, die ich habe, waren beide bereits auf 9600 eingestellt.
JDD

Ich verwende Ubuntu 14 und die Einstellungen.txt befand sich am selben Ort. Die Geschwindigkeitsrate betrug 38400. Als ich sie auf 9600 änderte, funktionierte sie. Vor ein paar Tagen hat es gut funktioniert, ohne etwas anderes zu ändern als in Ordnung. Ich
bin

Ja, das hat bei mir funktioniert. Stellen Sie sicher, dass Sie alle Ihre Arduino-IDE schließen, bevor Sie Änderungen vornehmen, da sonst die IDE Ihre vorhandene Konfiguration überschreibt
verschwunden

1

Ich hatte den gleichen Fehler. Soweit ich das beurteilen kann, handelt es sich um ein Berechtigungsproblem. Das Problem trat nicht mehr auf, als ich die Arduino IDE mit Root-Berechtigungen ausführte. Das heißt, ich habe es ausgeführt als:

    sudo ./arduino

Ich weiß, dass dies eine schlechte Lösung ist, aber im Moment funktioniert es. Ich habe versucht, Lese- / Schreibzugriff auf die Datei des seriellen Geräts hinzuzufügen, wie unter https://wiki.archlinux.org/index.php/arduino erwähnt. Dies hatte jedoch keine Auswirkungen und verursachte den Fehler, wenn ich versuchte, sie ohne Root-Berechtigung auszuführen . Ich suche immer noch nach einer besseren Lösung.

EDIT:

Dieses Problem wurde behoben, indem die Antwort unter https://askubuntu.com/a/58122/206687 befolgt wurde . Kurz gesagt, wenn Sie sich der dialoutGruppe hinzufügen , sollte das Problem behoben sein.

    sudo usermod -a -G dialout $USER

Melden Sie sich einfach ab und wieder an, nachdem Sie diesen Befehl ausgeführt haben, und Sie sollten problemlos auf die serielle Schnittstelle zugreifen können.


0

Versuchen Sie, die Version 1.0.5 der Arduino IDE zu installieren.


0

Ich habe einen einfacheren Weg gefunden, ohne Terminal zu benutzen. Gehen Sie in der Arduino-IDE zu Datei-> Einstellungen und am unteren Rand des Popups finden Sie einen Link für die Datei 'settings.txt'. Klicken Sie darauf und der Text wird geöffnet. Stellen Sie an diesem Punkt sicher, dass Sie Ihre ARDUINO-IDE schließen. Nehmen Sie die Änderung an der seriellen Debug-Rate '9600' vor und speichern und beenden Sie sie. Öffnen Sie Ihre IDE und es sollte jetzt funktionieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.