解释

解释

我已经正确安装

  • A新的arduino IDE 版本 (至少1.6.0)
  • 图书馆adafruit AVR boards

该设备显示在工具->端口但我无法将数据上传到设备。

我收到以下错误:

Erzwinge Reset durch öffnen/schließen mit 1200 bps auf dem Port /dev/ttyACM0
processing.app.debug.RunnerException
   at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:141)
   at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
   at processing.app.Sketch.upload(Sketch.java:1186)
   at processing.app.Sketch.exportApplet(Sketch.java:1160)
   at processing.app.Sketch.exportApplet(Sketch.java:1132)
   at processing.app.Editor$DefaultExportHandler.run(Editor.java:2381)
   at java.lang.Thread.run(Thread.java:745)
   Caused by: processing.app.SerialException: Fehler beim Ansprechen des seriellen Ports "/dev/ttyACM0".
   at processing.app.Serial.touchForCDCReset(Serial.java:87)
   at   cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:130)
... 6 more
Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Port busy.
   at jssc.SerialPort.openPort(SerialPort.java:164)
   at processing.app.Serial.touchForCDCReset(Serial.java:81)
... 7 more

该设备具有正确安装的引导加载程序,我可以从其他操作系统访问它。

答案1

解释

ModemManager使设备保持忙碌状态,这是已报告并确认的漏洞但尚未修复。

您可以使用以下方式检查

sudo lsof | grep ACM

解决方案

快速解决
如果您只需要上传一次程序,并且必须快速完成,
处理该问题的最简单方法就是暂停ModemManager一会儿。

sudo systemctl stop ModemManager.service

将停止Modemmanager并且现在您可以访问该设备。
确定ModemManager将资料上传至设备后开始:

 sudo systemctl start ModemManager.service

持续修复
最好应用udev规则来防止出现此错误。您可以udev从 Adafruit 下载完成的规则​​并按照本指南安装它们。

提示
由于 Ubuntu 不提供现代版本的 arduino IDE,你应该安装 IDE本地经过下载并解压该档案。

相关内容