我已经正确安装
- 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本地经过下载并解压该档案。