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. 使用 echo 和 cat 简单测试
发送数据:
echo "hello world" > /dev/ttyS0接收数据:
cat /dev/ttyS02. 使用 minicom 图形化串口工具
安装
sudo apt-get install minicom配置并打开串口
sudo minicom -s进入设置菜单,选择“Serial port setup”进行端口、波特率等参数配置,然后保存并退出。
直接打开
sudo minicom -D /dev/ttyS0 -b 1152003. 使用 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五、常见问题排查
- 权限不足
- 添加用户到
dialout组bash sudo usermod -a -G dialout $USER - 重新登录生效
- 设备不存在
- 检查驱动是否加载,
dmesg查看内核日志 - 检查硬件连接
- 串口占用
- 用
lsof | grep ttyS0检查是否有进程占用
- 收发异常
- 检查串口参数、交叉线连接、GND是否共地
六、实用脚本举例
循环发送数据:
while true; do echo "test" > /dev/ttyS0; sleep 1; done自动收数据并保存:
cat /dev/ttyS0 > recv.log