此方法通用于Linux下面所有的串口转换电路无法打开的方法。
我在Linux下面使用Atom+platformIO进行编程,准备进行板子调试,但是在下载的时候发现提示了一堆提示,然后最下面有一行的提示是
serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0'
这里说的就是权限不够,无法打开串口。下面给出解决办法(方法来自CSDN),
解决办法:
-
一、给所有的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转串口设备,普通用户同样可以访问了。