我的操作系统是 Ubuntu 18.04,arduino 一直工作到现在。
尽管有一些解决方案,但似乎没有一个对我有用。
然后我在 arduino Stack Exchange 上尝试了这个,它应该在第一个解决方案没有的情况下工作。答案是我们应该在/etc/udev/ruled.d/路径上创建一些规则。
但他们都没有为我工作。
我还在 Windows 10 中测试了 arduino,看看它是否是硬件问题,但它运行良好。
有没有人对如何解决这个问题有任何其他想法?
更新:
这是ll /dev/ttyACM0运行教程命令后的输出:
crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0
Run Code Online (Sandbox Code Playgroud)更新 2:
我创建了一个脚本来解决这个问题:https : //github.com/sergiomafra/iniarduino
小智 56
当我尝试将草图上传到 Arduino 时,我遇到了类似的问题。该问题与缺乏读取/写入串行端口的权限有关。我能够使用以下命令进行修复:
要确认端口存在,请从根目录输入以下内容。
ls /dev/ttyACM0
Run Code Online (Sandbox Code Playgroud)
要设置读/写权限,请输入以下内容
sudo chmod a+rw /dev/ttyACM0
Run Code Online (Sandbox Code Playgroud)
Bob*_*Bob 11
重新安装从 Ubuntu 软件中心安装的 arduino:
sudo apt install --reinstall arduino
Run Code Online (Sandbox Code Playgroud)
重新安装是必要的,因为which avrdude根据您的评论您的命令不返回任何内容,但应该是/usr/bin/avrdude. 再检查一遍:
which avrdude
Run Code Online (Sandbox Code Playgroud)
重新安装后运行您的 Arduino IDE 并关闭它。
检查您的 arduino 配置。打开/home/sergio/.arduino/preferences.txt文件并检查那里的serial.port选项。尝试将其更改为/dev/ttyACM0. 打开那个文件:
sudo nano /home/sergio/.arduino/preferences.txt
Run Code Online (Sandbox Code Playgroud)
并应用相应的更改,即选项应该看起来
serial.port=/dev/ttyACM0
Run Code Online (Sandbox Code Playgroud)
之后重启电脑。
以下是对我有用的内容:
sudo apt uninstall arduino; sudo apt autoremove)sudo apt install avrdude 因为网站上的那个不包括它sudo usermod -a -G dialout $USER因为网站上的那个不会自动执行此操作(该dialout组拥有设备文件;这会将当前用户添加到该组)现在一切又恢复正常了!
小智 5
$USER从 Ubuntu 软件下载 Arduino 后,这可以解决“无法打开串行端口”问题(将您的 Ubuntu 用户名放入其中)。
sudo usermod -a -G dialout $USER
sudo chmod a+rw /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86764 次 |
| 最近记录: |