“Permission denied”在串口场景下,通常意味着权限不足或端口被占用。具体解决方法取决于你的操作系统。

Linux 系统默认只允许特定用户组访问串口设备,这是最常见的原因。

将当前用户加入串口组(推荐)
最常见的串口组是 dialout(Debian/Ubuntu)

# 加入 dialout 组(Ubuntu/Debian 等)
sudo usermod -aG dialout $USER

关键一步:执行后必须注销并重新登录(或重启电脑),用户组变更才会生效


把你当前的用户账号,添加到 dialout 这个用户组里,从而获得访问串口设备的权限。

拆开来看每个部分的含义:

部分含义
sudo以管理员(root)权限执行后面的命令。修改用户组需要管理员权限。
usermoduser modify 的缩写,是 Linux 中用来修改用户账号属性的命令。
-aG两个选项的组合:-a 表示"追加"(append),-G 表示"指定附加组"。合起来就是追加到某个附加组,而不是替换掉原来的组。
dialout目标用户组的名字。在 Debian/Ubuntu 等系统里,这个组拥有串口设备(如 /dev/ttyUSB0)的读写权限。
$USER一个环境变量,代表你当前登录的用户名。比如你登录的用户叫 alice,它就等价于 alice。
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐