我正在尝试使用基于Arduino Leonardo的"Arduboy"和Arduino IDE。但是,由于以下错误,我无法上传示例代码:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
在你将其标记为重复之前,这是我尝试过的所有事情
- 将自己添加到可以修改
/dev/ttyACM0
的dialout
组中 - 每次插入电路板时都运行
chmod a+rw /dev/ttyACM0
- 制定这个 udev 规则:
KERNEL=="ttyACM0", MODE="0666"
这些都不起作用。工作是用这样的xdg-su
运行它:xdg-su -c ./arduino
.但是,我认为每次都以root身份运行该东西并不是最好的主意。我能做些什么吗?
我正在运行 openSUSE Tumbleweed。
基于 Arduino Leonardo 的开发板会在上传过程中短暂中断与 ttyACM* 的通信(如登录和注销(。出于某种原因,权限在此过程中会更改。查看上传失败期间重复ls -l --full-time /dev/ttyACM0
的输出:
crw-rw-rw- 1 root dialout 166, 0 2019-08-11 17:28:31.974025089 +0200 /dev/ttyACM0
ls: cannot access '/dev/ttyACM0': No such file or directory
crw------- 1 root root 166, 0 2019-08-11 17:42:15.523439213 +0200 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 2019-08-11 17:42:16.083442857 +0200 /dev/ttyACM0
我也使用风滚草。我目前知道的唯一解决方法是以root身份启动Arduino IDE。
转到 arduino 的程序目录。在目录中打开终端。然后键入 ./arduino-linux-setup.sh $USER
。重新启动后。您可以将代码上传到arduino上。