ubuntu 串口测试

1.概要

2.内容

在 Ubuntu 系统中测试串口(如 RS-232、USB 转串口等)通常涉及以下步骤:安装工具、连接设备、权限配置、发送/接收数据测试。以下是详细指南:

一、准备工作

  1. 确认串口设备存在
    插入串口设备(如 USB 转串口适配器)后,通过以下命令查看设备是否被识别:

    dmesg | grep tty
    # 或
    ls /dev/tty*

    通常串口设备会显示为 /dev/ttyUSB0/dev/ttyS0 等。

  2. 安装必要工具

    sudo apt install minicom screen cu
    • minicom:功能强大的串口调试工具。
    • screen:轻量级终端复用工具,也可用于串口通信。
    • cu:简单的串口通信工具。

二、权限配置

普通用户可能没有权限访问串口设备,需将用户加入 dialout 组:

sudo usermod -aG dialout $USER

注销并重新登录使组权限生效。

三、使用工具测试串口

方法 1:使用 minicom
  1. 启动 minicom(需超级用户权限):
    sudo minicom -D /dev/ttyUSB0
    • -D 指定串口设备(替换为你的设备名,如 /dev/ttyS0)。
  2. 配置串口参数(首次运行需设置):
    • 按 Ctrl+A → O 进入配置菜单。
    • 设置波特率(如 9600)、数据位(8)、停止位(1)、无校验位。
    • 保存配置为默认(Save setup as dfl)。
  3. 测试通信:
    • 连接另一台设备(如另一台电脑的串口或虚拟串口)。
    • 输入文本并按回车,对方应能收到数据。
方法 2:使用 screen
screen /dev/ttyUSB0 9600
  • 9600 是波特率,根据设备需求调整。
  • 输入文本后按回车发送,Ctrl+A → Ctrl+\ 退出。
方法 3:使用 cu
sudo cu -l /dev/ttyUSB0 -s 9600
  • -s 指定波特率。
  • 输入文本后按回车发送,~. 退出。

四、虚拟串口测试(无硬件时)

如果无实际串口设备,可通过 socat 创建虚拟串口对:

  1. 创建虚拟串口:

    socat -d -d pty,raw,echo=0 pty,raw,echo=0

    输出类似:

    2023/10/01 12:34:56 socat[1234] N PTY is /dev/pts/2
    2023/10/01 12:34:56 socat[1234] N PTY is /dev/pts/3

    此时 /dev/pts/2 和 /dev/pts/3 是虚拟串口对。

  2. 测试通信:

    # 终端 1
    screen /dev/pts/2 9600
    
    
    # 终端 2
    screen /dev/pts/3 9600

    在任一终端输入文本,另一终端应能实时接收。

五、脚本测试(自动发送/接收)

使用 python 的 pyserial 库可编写自动化测试脚本:

  1. 安装库:

    pip install pyserial
  2. 示例脚本(发送并接收数据):

    import serial
    
    
    ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
    ser.write(b'Hello, Serial!')
    response = ser.read(100) # 读取最多 100 字节
    print(f"Received: {response.decode()}")
    ser.close()

六、常见问题排查

  1. 设备未找到
    • 检查连接是否牢固。
    • 使用 dmesg | grep tty 确认设备是否被识别。
  2. 权限不足
    • 确保用户已加入 dialout 组。
    • 使用 ls -l /dev/ttyUSB0 检查权限,必要时用 sudo chmod 666 /dev/ttyUSB0 临时授权。
  3. 通信失败
    • 确认波特率、数据位、停止位等参数与设备匹配。
    • 检查接线是否正确(如 TX/RX 交叉连接)。

通过以上步骤,你可以在 Ubuntu 下高效测试串口通信。

3.关联链接

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

4.关联知识

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值