Arduino学习笔记(17)-- Linux & Arduino 串口问题解决

目录

1. Serial port不能识别

步骤1

步骤2

步骤3

步骤4

步骤5

步骤6

2. 无法获取权限:can't open device "/dev/ttyUSB0": Permission denied

3. 永久获得串口权限


1. Serial port不能识别

https://blog.csdn.net/qq_24254419/article/details/62241770

步骤1

解决方法是:插上你的arduino到电脑的USB上,并确保虚拟机软件中识别并将该串口添加至虚拟设备中,在命令行里运行:

                                 dmesg | tail

结果如下:

Arduino学习笔记(17)-- Linux & Arduino 串口问题解决_第1张图片

在最后一行显示了该Arduino的串口编号:ttyUSB0

 

步骤2

 命令行执行  ls -l  /dev/ttyUSB0 //这个0就是上面检测到的

  这个”dialout”名字就是下面我们要用到的组名。

步骤3

以上的 命令均是在没有root时候键入的,到了这一步,进入root权限(键入 su 进入)

sudo su

usermod -a -G dialout name //这里的name是自己电脑用户的名字

步骤4

再键入  ls -ld /run/lock

然后出现以下字样:

    drwxrwxrwt5 root root 4096 9 dic 21.39 /var/lock

步骤5

运行root下的

     chmod +rwx /run/lock

 

步骤6

在ubuntu下,预置安装了一个叫brltty的程序与Arduino有冲突,卸载即可。这个东西是为盲人设计的,所以大可放心卸载,没有什么问题。卸载完重启电脑。

  sudo apt-get remove brltty 

之后就能在Arduino IDE中看到串口了

Arduino学习笔记(17)-- Linux & Arduino 串口问题解决_第2张图片


2. 无法获取权限:can't open device "/dev/ttyUSB0": Permission denied

编译成功,但是上传时候报错:

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

编译、烧录成功。


3. 永久获得串口权限

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" 

注销电脑后即可获得权限。

你可能感兴趣的:(Arduino,&,Ros学习笔记)