目录
1. Serial port不能识别
步骤1
步骤2
步骤3
步骤4
步骤5
步骤6
2. 无法获取权限:can't open device "/dev/ttyUSB0": Permission denied
3. 永久获得串口权限
https://blog.csdn.net/qq_24254419/article/details/62241770
解决方法是:插上你的arduino到电脑的USB上,并确保虚拟机软件中识别并将该串口添加至虚拟设备中,在命令行里运行:
dmesg | tail
结果如下:
在最后一行显示了该Arduino的串口编号:ttyUSB0
命令行执行 ls -l /dev/ttyUSB0 //这个0就是上面检测到的
这个”dialout”名字就是下面我们要用到的组名。
以上的 命令均是在没有root时候键入的,到了这一步,进入root权限(键入 su 进入)
sudo su
usermod -a -G dialout name //这里的name是自己电脑用户的名字
再键入 ls -ld /run/lock
然后出现以下字样:
drwxrwxrwt5 root root 4096 9 dic 21.39 /var/lock
运行root下的
chmod +rwx /run/lock
在ubuntu下,预置安装了一个叫brltty的程序与Arduino有冲突,卸载即可。这个东西是为盲人设计的,所以大可放心卸载,没有什么问题。卸载完重启电脑。
sudo apt-get remove brltty
之后就能在Arduino IDE中看到串口了
编译成功,但是上传时候报错:
avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
这是串口权限不足,无法完成串口读写操作。
To set read/write permissions, enter the following
ls /dev/ttyUSB0
sudo chmod a+rw /dev/ttyUSB0
REF:https://askubuntu.com/questions/1056314/uploading-code-to-arduino-gives-me-the-error-avrdude-ser-open-cant-open-d
编译、烧录成功。
https://blog.csdn.net/wilylcyu/article/details/52051964?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
创建ttyUSB权限规则文件etc/udev/rules.d/70-ttyUSB.rules
$ sudo mkdir -p etc/udev/rules.d/
$ gedit 70-ttyUSB.rules
在文件中添加一下内容后保存:
KERNEL=="ttyUSB*", OWNER="root", GROUP="root", MODE="0666"
注销电脑后即可获得权限。