linux串口命令测试
linux串口命令测试详细介绍
在 Linux 系统中测试串口(如传统串口或 USB 转串口设备),可以通过命令行工具完成设备检查、参数配置、数据收发等操作。以下是详细步骤:
一、确认串口设备路径
- 查看串口设备
- 传统串口(COM1/COM2 等):设备文件通常为
/dev/ttyS0(对应 COM1)、/dev/ttyS1(COM2)等。 - USB 转串口(如 PL2303、CH340、FT232 等):插入 USB 后,设备文件通常为
/dev/ttyUSB0、/dev/ttyUSB1等,或/dev/ttyACM0(针对 CDC 类设备)。
使用以下命令查看设备是否存在:
bash
/dev/ttyS*/dev/ttyUSB*
/dev/ttyACM*
如果设备未显示,检查硬件连接、驱动是否正确安装(现代 Linux 内核通常内置主流 USB 转串口驱动)。
- 传统串口(COM1/COM2 等):设备文件通常为
- 权限问题
串口设备默认权限为root:dialout,普通用户需加入dialout组:
bashdialoutnewgrp dialout
二、配置串口参数
串口参数需与目标设备一致(如波特率、数据位、停止位、校验位、流控)。常用参数:
- 波特率:9600、115200 等
- 数据位:8(常用)
- 停止位:1(常用)
- 校验位:无(
-parenb)或奇 / 偶校验 - 流控:无(
-crtscts)
1.
用 stty 命令查看 / 设置参数
- 查看当前参数:bash
stty /dev/ttyUSB0 - 设置参数(示例:115200 波特率,8 数据位,1 停止位,无校验,无流控):bash
stty /dev/ttyUSB0 cs8cs8:8 数据位-cstopb:1 停止位(默认 2 停止位时需加-)-parenb:关闭校验位-crtscts:关闭硬件流控
2.
用工具配置(如 minicom)
bash
minicom
- 选择
Serial port setup,设置设备路径(如/dev/ttyUSB0)和参数,按Enter保存,选择Save setup as dfl(设为默认),最后选择Exit退出配置。
三、测试数据收发
1.
直接命令收发(适合简单测试)
- 发送数据(从终端 A 发送到串口):bash
/dev/ttyUSB0 - 接收数据(在终端 B 实时显示串口接收的数据):bash
/dev/ttyUSB0
2.
使用 minicom 交互测试
- 打开串口终端(需先配置参数,见上文):bash
minicom - 输入内容会直接发送到串口,接收到的数据会显示在终端,退出按
Ctrl+A再按Q。
3.
使用 screen 工具
bash
/dev/ttyUSB0
- 输入数据发送,接收数据直接显示,退出按
Ctrl+A再按\,输入y确认。
4.
双机互测(两台设备直连)
- 通过串口线(交叉线,需共地)连接两台设备,分别在设备 A 发送、设备 B 接收,或反之。
四、高级测试工具
1.
cutecom(图形化工具,需安装)
bash
cutecomcutecom
2.
Python 脚本测试(需 pyserial 库)
- 安装库:bash
pip pyserial - 发送脚本(
serial_send.py):pythonserialser serialSerial timeout
serwrite
serclose
- 接收脚本(
serial_receive.py):pythonserialser serialSerial timeout
data serreadline
data
datadecode
serclose
五、常见问题排查
- 权限拒绝(
Permission denied)- 确认用户已加入
dialout组(见上文权限设置),或临时用sudo执行命令(不推荐)。
- 确认用户已加入
- 设备不存在(
No such file or directory)- 检查硬件连接,尝试插拔 USB 设备,或通过
dmesg查看内核日志:bashttyUSB
- 检查硬件连接,尝试插拔 USB 设备,或通过
- 数据乱码或无法收发
- 确认串口参数(波特率、校验位等)与目标设备完全一致。
- 检查串口线是否损坏或连接错误(交叉线 / 直连线是否正确)。
- 关闭其他占用串口的程序(如
minicom、screen或其他脚本),可通过lsof /dev/ttyUSB0查看占用进程并终止。
通过以上步骤,可在 Linux 下完成串口设备的检测、配置和数据收发测试。根据场景选择合适的工具(命令行、图形化或脚本),确保参数匹配和硬件连接正确即可。