在Linux下面装了Atom+PlatformIO,然后编译程序是可以的,但是下载是不行的,有一大堆提示,我从上到下看了一边,发现是打不开串口,最下面有一行提示serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0'

就是说打不开串口,我把could not open port /dev/ttyUSB0复制到网上准备查一下什么情况,然后很容易就发现了问题所在,简直不要太简单。就是权限不够而已,那么要怎么给呢。

解决办法:一、给所有的USB to TTL设备权限:

这种方法是给一个ttyUSB*一个范围来解决的,通过增加udev规则来实现,步骤如下:

创建文件/etc/udev/rules.d/70-ttyusb.rules

在文件内增加一行KERNEL=="ttyUSB[0-9]*", MODE="0666",重新插入USB转串口设备,普通用户就有权限访问了。二、给指定的芯片或者板子权限:

首先,lsusb看一下USB转串口芯片的idVendor和idProduct,显示结果中,会有下面样子的一条结果:Bus 003 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

ID 1a86:7523表示idVendor=1a86,idProduct=7523,然后我们就去rule文件里面添加规则了。

70-ttyusb.rules的内容如下:SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523",MODE="0666"

重新插入USB转串口设备,普通用户同样可以访问了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐