在CentOS系统中,串口(Serial Port)作为一种经典的通信接口,在工业自动化、网络设备管理、嵌入式系统开发等领域依然扮演着重要角色,掌握在CentOS下测试串口的方法,是系统管理员和开发工程师的一项基本技能,本文将详细介绍从识别串口设备到进行功能性测试的完整流程。

准备工作
在开始测试之前,请确保您已具备以下条件:
- 硬件准备:一台运行CentOS的计算机,一个物理串口(如主板自带的COM口)或一个USB转串口适配器,若要进行自环测试,还需要一个串口自环头(将2、3引脚短接的DB9连接器)。
- 软件准备:确保系统中已安装必要的命令行工具,大部分工具默认已安装,但像
minicom这样的交互式终端可能需要手动安装。
# 使用yum或dnf安装minicom sudo yum install minicom # 或者对于较新的CentOS版本 sudo dnf install minicom
识别串口设备
Linux系统下,串口设备通常以文件形式存在于/dev目录下,传统的物理串口被命名为/dev/ttyS0, /dev/ttyS1等,而USB转串口设备则通常被命名为/dev/ttyUSB0, /dev/ttyUSB1等。
我们可以通过以下几种方式来识别系统中的串口设备:
| 命令 | 功能说明 |
|---|---|
dmesg | grep tty | 查看内核启动日志,识别被检测到的串口设备及其分配的设备名。 |
ls /dev/ttyS* | 列出所有传统的物理串口设备文件。 |
ls /dev/ttyUSB* | 列出所有USB转串口设备文件。 |
setserial -g /dev/ttyS* | 显示指定串口(如ttyS系列)的详细配置信息,如I/O端口地址和中断号。 |
dmesg | grep tty是最直接有效的方法,它会清晰地告诉你哪个设备对应哪个物理接口,插入一个USB转串口适配器后,运行此命令可能会看到类似usb 1-1: ch341-uart converter now attached to ttyUSB0的输出。
串口测试方法
识别出串口设备(例如/dev/ttyS0或/dev/ttyUSB0)后,我们可以采用两种主要方法进行测试。
使用命令进行回环测试
回环测试是验证串口硬件和驱动是否正常工作的最简单方法,它需要将串口的发送(TXD)和接收(RXD)引脚短接。

连接硬件:使用自环头或杜邦线短接串口的2号(RXD)和3号(TXD)引脚。
执行测试:打开两个终端,在第一个终端中,使用
cat命令读取串口数据:# 以9600波特率读取串口,-s参数使其静默 sudo cat /dev/ttyS0 -s
在第二个终端中,使用
echo命令向串口写入数据:# 向串口发送"Hello Serial" echo "Hello Serial" > /dev/ttyS0
如果第一个终端成功显示出“Hello Serial”,则说明串口的发送和接收功能正常,注意,操作/dev下的设备文件通常需要root权限。
使用minicom进行交互式测试
当需要与另一台设备(如路由器、单片机)进行通信时,使用交互式终端工具更为方便。minicom是其中的经典代表。
配置minicom:首次使用前,建议进行配置,运行以下命令进入配置模式:

sudo minicom -s
在配置菜单中,选择“Serial port setup”,然后设置以下关键参数:
Serial Device: 设置为你的串口设备,如/dev/ttyS0或/dev/ttyUSB0。Bps/Par/Bits: 设置波特率、数据位、停止位和校验位,务必与对端设备保持一致,常见的配置是115200 8N1(波特率115200,8个数据位,无校验,1个停止位)。Hardware Flow Control和Software Flow Control: 通常都设置为“No”。
保存并退出:配置完成后,选择“Save setup as dfl”保存为默认配置,然后选择“Exit from Minicom”。
连接与测试:直接运行
sudo minicom即可连接到串口,终端中显示的所有字符都会通过串口发送出去,从串口接收到的字符也会显示在终端上,你可以直接输入字符进行测试。
常见问题排查
- Permission denied:普通用户默认没有访问串口设备的权限,可以使用
sudo临时提权,或者将用户添加到dialout或uucp组中:sudo usermod -a -G dialout $USER。 - 设备不存在:检查硬件连接,确认驱动已加载(
lsmod | grep ch341等),并使用dmesg查看内核是否有相关错误信息。 - 乱码:最常见的原因是通信双方的波特率、数据位、校验位或停止位等参数不匹配,请仔细核对配置。
相关问答FAQs
Q1: 普通用户没有权限访问串口设备怎么办?
A1: 有两种解决方法,第一种是临时使用sudo命令来执行需要权限的操作,例如sudo minicom,第二种是为当前用户永久授权,将其添加到拥有串口设备访问权限的用户组(通常是dialout或uucp),执行命令sudo usermod -a -G dialout $USER(将$USER替换为你的用户名),然后注销并重新登录即可生效,你可以使用groups $USER命令来确认用户组。
Q2: 除了minicom,还有没有更轻量级的串口工具?
A2: 是的,有几个优秀的替代工具。screen是一个非常强大的工具,它也支持串口通信,使用方式为screen /dev/ttyUSB0 115200,另一个是picocom,它设计得非常小巧和简单,非常适合脚本化或快速测试,使用方式为picocom -b 115200 /dev/ttyUSB0,这些工具都可以通过yum或dnf轻松安装。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复