在 Linux 环境下测试串口通常围绕设备节点、波特率、数据位、校验位与停止位等参数展开,核心目标是验证物理层的连通性、收发数据的正确性以及驱动与配置的一致性。串口设备一般以/dev/ttySx(标准 PC 16550A 类型)、/dev/ttyUSBx(USB 转串口)或/dev/ttyAMAx(嵌入式平台)等形式存在,测试前需确认设备节点存在且用户具备读写权限。

第一步是识别与配置串口。通过命令ls /dev/tty*查看可用设备,并结合dmesg | grep tty或udevadm info来确认硬件映射关系。使用stty命令可读取或设置串口参数,例如stty -F /dev/ttyUSB0 -a用于查看当前配置,stty -F /dev/ttyUSB0 raw speed 115200 cs8 -cstopb -parenb用于将串口设为原始模式、115200 波特率、8 数据位、无校验、1 停止位。原始模式(raw)可避免行缓冲与回显干扰,是串口测试中的常用配置。
第二步是进行基础回环测试。若无外部设备,可采用短接TX与RX引脚的方式构成本地回环,配合cat与重定向或echo进行自发自收验证。例如执行echo "test" > /dev/ttyUSB0与cat /dev/ttyUSB0(需在独立终端或后台运行),观察数据是否一致。注意需确保权限正确且串口未被其他程序占用,必要时使用fuser -k /dev/ttyUSB0终止冲突进程。回环测试主要用于确认驱动、配置与基础 I/O 链路正常。
第三步是利用专用工具进行双向通信测试。工具minicom与picocom是 Linux 平台常用的串口调试终端,支持动态配置波特率、流控与显示模式。例如picocom -b 115200 /dev/ttyUSB0可在终端直接收发数据并观察实时交互。工具socat则适用于脚本化测试与协议桥接,如socat -d -d pty,raw,echo=0,link=/tmp/vserial0 tcp:192.168.1.100:2000可建立虚拟串口与网络端口的映射,便于复杂场景验证。工具集serial或python-serial(pyserial)可用于编写自动化测试脚本,精确控制收发时序与内容。
第四步是借助逻辑分析仪或示波器进行物理层验证。在关键帧、握手信号与流控(RTS/CTS、DTR/DSR)测试中,硬件观测能发现信号质量、时序偏移与电平不匹配问题。同时应关注内核串口日志,通过dmesg -w | grep tty持续监控错误帧、溢出与断线重连事件,确保驱动层稳定。
综合来看,Linux 串口测试应遵循“先配置、后回环、再通信、终观测”的流程,以stty确保参数准确,以回环验证基础通路,以终端工具或脚本完成双向交互,以物理测量确认信号质量。只有在配置一致、权限正确且物理链路可靠的前提下,才能得出可信的测试结果。

查看详情

查看详情