Linux 系统串口配置及权限设置详解
在 Linux 系统中,串口通信是一种常见的硬件设备接口方式,广泛应用于嵌入式系统、工控设备以及测试仪器等领域。本文将详细介绍如何在 Linux 系统中配置串口及设置权限,并提供示例代码。
一、查找串口设备
首先,需要确定串口设备文件的路径。通常,串口设备文件位于 /dev
目录下,如 /dev/ttyS0
、/dev/ttyUSB0
等。可以使用以下命令查找所有串口设备:
ls /dev/tty* /dev/ttyUSB*
二、设置串口权限
串口设备默认情况下通常只有 root
用户有权限访问。为了让普通用户也能访问串口,需要更改串口的权限。可以使用以下命令给予读写权限:
sudo chmod 666 /dev/ttyS0
如果只想让特定的用户或用户组有权限,可以使用以下命令:
sudo chown root:tty /dev/ttyS0
sudo chmod 660 /dev/ttyS0
上述命令将串口设备的所有者改为 root
,所属组改为 tty
,并设置所有者和组成员的读写权限。
三、配置串口参数
串口通信的参数包括波特率、数据位、停止位和校验位等,这些参数需要与设备匹配。可以使用 stty
命令配置串口参数,例如:
stty -F /dev/ttyS0 speed 9600 parity none
stty -F /dev/ttyS0 cs8 cstopb 0
上述命令设置了波特率为 9600,无校验,8 数据位,1 停止位。
四、测试串口
配置完成后,可以使用串口通信工具(如 minicom
或 putty
)测试串口是否工作正常。打开工具并连接到对应的串口设备即可。
五、示例代码
以下是一个使用 Python 脚本实现简单串口通信的示例:
import serial
import time
# 打开串口
ser = serial.Serial('/dev/ttyS0', 9600, timeout=1)
# 写入数据
ser.write(b'Hello, World!\r\n')
# 读取数据
data = ser.read(ser.in_waiting)
print(data.decode('utf-8'))
# 关闭串口
ser.close()
六、注意事项
- 确保串口设备文件路径正确。
- 配置串口参数时,需根据设备要求设置。
- 测试串口时,确保串口通信工具配置与串口参数一致。
通过上述步骤,可以在 Linux 系统中成功配置串口并设置权限,实现串口通信。