我的操作系统是 Ubuntu 18.04,arduino 一直运行到现在。
尽管有一些解决方案,但对我来说似乎都没有用。
我跟着这些说明在 arduino 网站上。
然后我尝试这在 arduino Stack Exchange 上/etc/udev/ruled.d/
,这在第一个解决方案不起作用的情况下应该有效。答案是我们应该在路径上创建一些规则。
但它们对我都不起作用。
我也在 Windows 10 中测试了 arduino 以查看是否是硬件问题,但它运行正常。
有人对如何解决这个问题有其他想法吗?
更新:
- 我的用户名 sergio 属于这两个组 (tty 和 dialout);
- 我按照 arduino 官方教程的解释退出并重新登录;
- 在 Arduino IDE 中,配置正确:Arduino UNO 和 ttyACM0
ll /dev/ttyACM0
这是运行教程命令后的输出:crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0
更新2:
我创建了一个脚本来解决这个问题: https://github.com/sergiomafra/iniarduino
答案1
当我尝试将草图上传到 Arduino 时,我遇到了类似的问题。该问题与缺少读取/写入串行端口的权限有关。我能够使用以下命令进行修复:
要确认端口存在,请从根目录输入以下内容。
ls /dev/ttyACM0
要设置读/写权限,请输入以下内容
sudo chmod a+rw /dev/ttyACM0
答案2
重新安装从 Ubuntu 软件中心安装的 arduino:
sudo apt install --reinstall arduino
重新安装是必要的,因为which avrdude
根据您的评论,您的命令没有返回任何内容,但应该是/usr/bin/avrdude
。再检查一下:
which avrdude
重新安装后运行 Arduino IDE 并关闭它。
检查你的 arduino 配置。打开/home/sergio/.arduino/preferences.txt
文件并检查serial.port
选项。尝试将其更改为/dev/ttyACM0
。打开该文件:
sudo nano /home/sergio/.arduino/preferences.txt
并应用相应的更改,即选项应该看起来
serial.port=/dev/ttyACM0
然后重新启动计算机。
答案3
以下是对我有用的方法:
- 从 Apt 卸载该版本,它无法正常工作 (
sudo apt uninstall arduino; sudo apt autoremove
) - 安装来自 Arduino 网站的版本
sudo apt install avrdude
因为网站上没有包含它sudo usermod -a -G dialout $USER
因为网站上的那个不会自动执行此操作(该dialout
组拥有设备文件;这会将当前用户添加到该组)
现在一切恢复正常了!
答案4
结合我读过的所有帖子,我按照这个帖子中的指示解决了这个问题。
在新的终端中,我输入了以下内容,如下所示。
请注意,fourplus 是我的用户名。