ubuntu 串口收发数据测试

1.概要

1.echo cat
2.screen
3.minicom
4.cutecom

2.内容

在 Ubuntu 中测试串口(如 /dev/ttyS2 和 /dev/ttyS6)的数据收发,可通过以下步骤实现。假设两个串口已通过物理线缆(如零调制解调器线缆)连接,或通过虚拟串口工具模拟连接。


步骤 1:确认串口设备存在

ls -l /dev/ttyS*

输出应包含 /dev/ttyS2 和 /dev/ttyS6(或其他串口设备)。


步骤 2:安装串口测试工具

sudo apt install minicom screen cutecom # 选择其一即可

步骤 3:配置串口参数

使用 stty 统一设置发送和接收端的参数(以 115200 波特率为例):

# 设置 ttyS2 为发送端
stty -F /dev/ttyS2 115200 cs8 -parenb -cstopb


# 设置 ttyS6 为接收端
stty -F /dev/ttyS6 115200 cs8 -parenb -cstopb

步骤 4:测试串口通信

方法 1:使用 cat 命令(基础测试)
  1. 发送端(ttyS2):

    echo "Hello, Serial Port!" > /dev/ttyS2
  2. 接收端(ttyS6):

    cat /dev/ttyS6

    如果通信正常,接收端会输出 Hello, Serial Port!

方法 2:使用 screen 命令(交互式测试)
  1. 启动 screen 会话(接收端):

    screen /dev/ttyS6 115200
  2. 另开终端(发送端):

    echo "Test Data" > /dev/ttyS2

    接收端的 screen 会话中会显示 Test Data

  3. 退出 screen:按 Ctrl+A 后按 K,选择 Yes

方法 3:使用 minicom(专业调试工具)
  1. 配置 minicom
    sudo minicom -s
    • 选择 Serial port setup,设置串口设备为 /dev/ttyS6,波特率为 115200
    • 保存配置(Save setup as dfl)。
  2. 启动 minicom
    sudo minicom
    在发送端输入数据,接收端会实时显示。
方法 4:使用 cutecom(图形化工具)
  1. 启动 cutecom
    cutecom
    配置参数
    • 选择串口设备(如 /dev/ttyS6)。
    • 设置波特率为 115200,数据位为 8,停止位为 1,无校验。
  2. 发送数据:在文本框输入内容,点击 Send

步骤 5:验证数据完整性

方法 1:使用 od 查看二进制数据
echo "Binary Test: 0x00 0xFF" > /dev/ttyS2
od -tx1 /dev/ttyS6 # 以十六进制显示接收数据
方法 2:循环发送与接收
# 发送端(ttyS2)
while true; do echo "Loop Test $(date)" > /dev/ttyS2; sleep 1; done


# 接收端(ttyS6)
cat /dev/ttyS6

常见问题排查

  1. 无数据输出

    • 检查物理线缆连接(如 TX/RX 交叉)。
    • 确认串口参数(波特率、数据位等)一致。
    • 使用 dmesg | grep ttyS 查看内核日志。
  2. 权限不足

    sudo usermod -aG dialout $USER # 添加用户到 dialout 组
    newgrp dialout # 立即生效
  3. 设备未启用

    sudo chmod 666 /dev/ttyS2 /dev/ttyS6 # 临时修改权限(不推荐生产环境)

通过以上步骤,您可以完成 Ubuntu 下串口设备的收发测试。如果需要进一步调试(如分析通信协议),可使用 Wireshark 配合串口转 USB 适配器抓包。

3.关联链接

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

4.关联知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值