Linux ARM串口测试常见命令详解

在嵌入式开发、单板机调试等场景下,串口(Serial port)是最常见的调试和通信接口之一。本文详细介绍在Linux(尤其是ARM架构)下进行串口测试的常用命令和方法。


一、串口设备识别

大多数Linux系统的串口设备节点如下:

  • 标准串口:/dev/ttyS0, /dev/ttyS1
  • USB转串口:/dev/ttyUSB0, /dev/ttyUSB1
  • FTDI类芯片:/dev/ttyACM0, /dev/ttyACM1

查看串口设备

ls /dev/tty*

插拔USB转串口线后,可以用 dmesg 查看设备挂载情况:

dmesg | tail -20

二、串口参数配置

使用 stty 查看和设置串口参数

查看当前参数

stty -F /dev/ttyS0 -a

设置波特率、数据位、校验位、停止位

例如设置为115200 8N1(115200波特率,8数据位,无校验,1停止位):

stty -F /dev/ttyS0 speed 115200 cs8 -cstopb -parenb

参数说明:

  • speed 115200:波特率
  • cs8:8数据位
  • -cstopb:1停止位
  • -parenb:无校验

三、串口收发测试

1. 使用 echocat 简单测试

发送数据:

echo "hello world" > /dev/ttyS0

接收数据:

cat /dev/ttyS0

2. 使用 minicom 图形化串口工具

安装

sudo apt-get install minicom

配置并打开串口

sudo minicom -s

进入设置菜单,选择“Serial port setup”进行端口、波特率等参数配置,然后保存并退出。

直接打开

sudo minicom -D /dev/ttyS0 -b 115200

3. 使用 screen 作为串口终端

screen /dev/ttyS0 115200

退出:同时按下 Ctrl+A 然后按 K,再按 y

4. 使用 picocom(轻量级串口工具)

安装

sudo apt-get install picocom

启动

sudo picocom -b 115200 /dev/ttyS0

退出:Ctrl+A 再按 Ctrl+X

5. 使用 cu 命令

安装

sudo apt-get install cu

启动

sudo cu -l /dev/ttyS0 -s 115200

退出:~.


四、串口数据的十六进制查看

有时候需要以十六进制方式查看串口数据:

cat /dev/ttyS0 | hexdump -C
# 或
cat /dev/ttyS0 | xxd

五、常见问题排查

  1. 权限不足
  • 添加用户到 dialout
    bash sudo usermod -a -G dialout $USER
  • 重新登录生效
  1. 设备不存在
  • 检查驱动是否加载,dmesg 查看内核日志
  • 检查硬件连接
  1. 串口占用
  • lsof | grep ttyS0 检查是否有进程占用
  1. 收发异常
  • 检查串口参数、交叉线连接、GND是否共地

六、实用脚本举例

循环发送数据:

while true; do echo "test" > /dev/ttyS0; sleep 1; done

自动收数据并保存:

cat /dev/ttyS0 > recv.log

发表回复 0

Your email address will not be published. Required fields are marked *