ubuntu 串口测试的方法有多少种

1.概要

1.记忆要点

Ubuntu 下串口测试的方法可根据场景选择:

  • 快速测试screenminicompicocom
  • 图形化:CuteCom、GtkTerm。
  • 编程控制:Python(pySerial)、C 语言。
  • 硬件验证:环回测试、电压测量。
  • 系统诊断dmesgsttyls

2.内容

在 Ubuntu 系统中,测试串口(如 /dev/ttyS*/dev/ttyUSB* 等设备)的常用方法可分为以下几类,具体方法数量可根据功能细分,但核心工具和场景约 10-15 种。以下是详细分类和操作指南:

一、基础命令行工具(无需编程)

1. 使用 screen 终端

screen 是轻量级终端工具,适合快速测试串口通信。
步骤

# 安装 screen(若未安装)
sudo apt install screen


# 连接串口(示例:/dev/ttyUSB0,波特率 115200)
screen /dev/ttyUSB0 115200

按 Ctrl+A 然后 Ctrl+D 退出,或直接关闭终端。

2. 使用 minicom 配置工具

minicom 是功能更丰富的串口调试工具,需先配置参数。
步骤

# 安装 minicom
sudo apt install minicom


# 运行并配置(首次需设置波特率、数据位等)
sudo minicom -s
# 选择 "Serial port setup" → 设置设备(A)、波特率(B)等 → 保存为默认(Save setup as dfl)


# 启动(直接使用配置)
sudo minicom
3. 使用 picocom 轻量工具

picocom 是更简洁的命令行工具,适合快速测试。
步骤

# 安装 picocom
sudo apt install picocom


# 连接串口(示例:波特率 115200)
picocom -b 115200 /dev/ttyUSB0

按 Ctrl+A 然后 Ctrl+X 退出。

4. 基础 echo + cat 组合

无需额外工具,直接通过重定向读写串口(适合简单数据测试)。
步骤

# 向串口发送数据(示例:发送 "hello")
echo "hello" > /dev/ttyUSB0


# 读取串口数据(需另一终端或设备回传)
cat < /dev/ttyUSB0
5. hexdump 查看二进制数据

结合 cat 和 hexdump 可查看十六进制格式的串口数据。
步骤

# 实时读取并显示十六进制
cat /dev/ttyUSB0 | hexdump -C

二、图形化工具(适合新手)

1. CuteCom

图形化串口调试工具,界面友好,支持参数配置。
步骤

# 安装 CuteCom
sudo apt install cutecom


# 运行 CuteCom → 选择串口设备、波特率等 → 发送/接收数据
cutecom
2. GtkTerm

轻量级 GTK 图形化串口工具,适合简单测试。
步骤

# 安装 GtkTerm
sudo apt install gtkterm


# 运行 GtkTerm → 配置串口参数 → 开始通信
gtkterm

三、编程方法(自定义测试逻辑)

1. Python + pySerial

通过 Python 脚本控制串口,适合复杂测试场景。
步骤

# 安装 pySerial
pip install pyserial


# 示例脚本(发送并接收数据)
import serial
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
ser.write(b'test') # 发送数据
print(ser.read(10)) # 读取最多10字节
ser.close()
2. C 语言(系统调用)

通过底层系统调用(openreadwrite)操作串口,适合深入调试。
示例代码

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>

int main() {
    int fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY);
    struct termios tty;
    tcgetattr(fd, &tty);
    cfsetospeed(&tty, B115200);
    cfsetispeed(&tty, B115200);
    tcsetattr(fd, TCSANOW, &tty);

    write(fd, "test", 4);  // 发送数据
    char buf[10];
    read(fd, buf, 10);     // 读取数据
    close(fd);
    return 0;
}

编译运行:gcc -o serial_test serial_test.c && ./serial_test

四、硬件级测试方法

1. 环回测试(Loopback Test)

通过短接串口的 TX(发送) 和 RX(接收) 引脚,验证串口硬件是否正常。
步骤

  • 用导线短接串口的 TX(如 Pin3)和 RX(如 Pin2)引脚。
  • 使用 echo 或工具发送数据,若能接收到相同数据,则硬件正常。
echo "loopback" > /dev/ttyUSB0 && cat /dev/ttyUSB0
2. 电压测量(万用表)

使用万用表测量串口的 TX 引脚电压(空闲时为负电压,发送时为正电压),判断硬件是否工作。

五、系统诊断工具

1. 检查串口设备是否存在

通过 dmesg 或 ls 查看串口是否被系统识别。

# 查看内核日志(插入设备后)
dmesg | grep tty


# 列出所有串口设备
ls /dev/tty* | grep -E "ttyS|ttyUSB|ttyACM"
2. stty 配置串口参数

通过 stty 命令直接配置串口参数(如波特率、数据位等)。

# 设置串口参数(示例:115200 8N1,关闭回显)
stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb -echo

总结

Ubuntu 下串口测试的方法可根据场景选择:

  • 快速测试screenminicompicocom
  • 图形化:CuteCom、GtkTerm。
  • 编程控制:Python(pySerial)、C 语言。
  • 硬件验证:环回测试、电压测量。
  • 系统诊断dmesgsttyls

共约 10-15 种具体方法,覆盖从简单命令到深度调试的全场景。

3.关联链接

关于串口测试的链接-优快云博客

4.关联知识 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值