Arduino IDE não conectando ao microcontrolador

7

Eu recebo este erro ao tentar se conectar a um Arduino através de uma conexão serial USB. Estou usando o Arduino IDE 1.0.1 e a versão de 64 bits do Ubuntu 12.04. Este tem sido um problema recorrente desde 10.04 e acontece com alguns outros programas que usam uma conexão serial também. Não tenho nenhum problema em obter dados seriais do Arduino usando Python ou Screen. A IDE do Arduino parece funcionar bem, caso contrário.

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
    
por JDD 09.09.2012 / 15:00

4 respostas

12

Eu tive esse problema também, acontece que ele foi causado pelo Monitor Serial sendo configurado para acelerar 14400. Desde que você não pode alterar a configuração sem ter uma porta serial de trabalho, a única maneira de fazê-lo é sair do Arduino UI e edite o arquivo preferences.txt (no Unix, é em ~/.arduino/preferences.txt ). Procure Serial.debug_rate e altere para 9600 . Reinicie a interface do usuário do Arduino e tente fazer upload de um esboço simples (por exemplo, 'blink') e veja se ele resolve o problema.

Não sei por que isso aconteceria - usei 14400 e nunca tive um problema. Eu acho que é apenas um daqueles problemas estranhos que nunca parece ter uma razão repetível?

    
por Coofer Cat 29.09.2012 / 19:05
1

Eu estava com o mesmo erro. Tanto quanto eu posso dizer, isso é um problema de permissões. O problema não ocorreu mais quando eu executei o Arduino IDE com permissões de root. Ou seja, eu corri como:

    sudo ./arduino

Eu sei que esta é uma solução ruim, mas por enquanto funciona. Eu tentei adicionar acesso de leitura / gravação ao arquivo de dispositivo serial como mencionado no link , mas isso não teve efeito, e ainda causou o erro se eu tentei executá-lo sem permissão de root. Ainda estou procurando uma solução melhor.

EDITAR:

Esse problema foi corrigido seguindo a resposta dada no link . Em resumo, se você se adicionar ao grupo dialout , o problema deve ser corrigido.

    sudo usermod -a -G dialout $USER

Basta fazer logout e efetuar login novamente depois de executar este comando, e você poderá acessar a porta serial sem problemas.

    
por Artezanz 28.04.2014 / 16:55
0

Tente instalar a versão 1.0.5 do Arduino IDE.

    
por Patterson 28.08.2013 / 21:40
0

Eu encontrei uma maneira mais fácil sem usar o terminal. No Arduino IDE, vá para Arquivo- > Preferências e na parte inferior do pop-up, eles dão um link para o arquivo 'preferences.txt'. Clique nisso e ele abrirá o texto. CERTIFIQUE-SE DE QUE NESTE PONTO FECHE O SEU ARDUINO IDE. Faça a alteração na taxa de depuração Serial '9600' e salve e saia. Abra o seu IDE e ele deve funcionar agora.

    
por Smelly_cat 22.02.2015 / 13:14

Tags