[Errno 13]Permission denied: '/dev/ttyTHS1'
时间: 2023-10-30 07:03:23 浏览: 50
根据提供的引用内容,[Errno 13]Permission denied: '/dev/ttyTHS1'错误是权限被拒绝所致。在Linux系统中,文件和设备有特定的权限设置,只有具有足够权限的用户才能读取或写入这些文件和设备。
解决这个问题的方法是通过修改udev规则,将用户添加到i2c-1设备的访问权限组中。下面是具体的步骤:
1. 使用命令`udevadm info -a /dev/i2c-1`查看i2c-1设备的KERNEL和SUBSYSTEM值,以便后续使用。
2. 创建一个udev规则文件`/etc/udev/rules.d/50-myi2c.rules`,可以使用以下命令创建:
```
sudo touch /etc/udev/rules.d/50-myi2c.rules
```
3. 使用编辑器打开该文件,并将以下内容复制到文件中:
```
KERNEL=="i2c-1", SUBSYSTEM=="i2c-dev", GROUP="users", MODE="0666"
```
确保将上述KERNEL和SUBSYSTEM的值替换为第一步中获得的值。
4. 保存文件并关闭编辑器。
5. 重新加载udev规则,以使更改生效:
```
sudo udevadm control --reload
```
6. 重新启动系统:
```
sudo reboot
```
7. 重新测试程序,应该不再报错"[Errno 13] Permission denied: '/dev/ttyTHS1'"。
通过按照上述步骤修改udev规则并重新启动系统,您应该能够解决"[Errno 13] Permission denied: '/dev/ttyTHS1'"错误。这样,您的程序将能够访问i2c-1设备并执行所需的操作。