Linux串口测试工具

Windows 下的串口工具非常多,Linux下的串口工具相对较少,有时候要调试给定串口通信可靠性,则需要搜索一圈才能找到易用方便且满足自己的需求的工具。

无意中发现 linux-serial-test 功能比较齐全,故分享出来。

命令行串口工具: linux-serial-test

项目地址

命令行串口工具: linux-serial-test

编译

这是一个非常简单的程序 - 有几种方法可以在Linux上编译它:

直接使用 GCC

gcc -o linux-serial-test linux-serial-test.c

使用 CMake

cmake ./
make

用法

Usage: linux-serial-test [OPTION]

-h, --help
-b, --baud Baud rate, 115200, etc (115200 is default)
-p, --port Port (/dev/ttyS0, etc) (must be specified)
-d, --divisor UART Baud rate divisor (can be used to set custom baud rates)
-R, --rx_dump Dump Rx data (ascii, raw)
-T, --detailed_tx Detailed Tx data
-s, --stats Dump serial port stats every 5s
-S, --stop-on-err Stop program if we encounter an error
-y, --single-byte Send specified byte to the serial port
-z, --second-byte Send another specified byte to the serial port
-c, --rts-cts Enable RTS/CTS flow control
-B, --2-stop-bit Use two stop bits per character
-P, --parity Use parity bit (odd, even, mark, space)
-k, --loopback Use internal hardware loop back
-K, --write-follow Write follows the read count (can be used for multi-serial loopback)
-e, --dump-err Display errors
-r, --no-rx Don’t receive data (can be used to test flow control)
when serial driver buffer is full
-t, --no-tx Don’t transmit data
-l, --rx-delay Delay between reading data (ms) (can be used to test flow control)
-a, --tx-delay Delay between writing data (ms)
-w, --tx-bytes Number of bytes for each write (default is to repeatedly write 1024 bytes
until no more are accepted)
-q, --rs485 Enable RS485 direction control on port, and set delay
from when TX is finished and RS485 driver enable is
de-asserted. Delay is specified in bit times.
-o, --tx-time Number of seconds to transmit for (defaults to 0, meaning no limit)
-i, --rx-time Number of seconds to receive for (defaults to 0, meaning no limit)
-A, --ascii Output bytes range from 32 to 126 (default is 0 to 255)

例子

进行压力测试

linux-serial-test -s -e -p /dev/ttyO0 -b 3000000

这将发送带有计数模式的满带宽数据, 对于接收的任何数据, 程序将查找计数模式并报告模式中任何缺失的数据, 此测试可以使用环回电缆完成。

测试流程控制

linux-serial-test -s -e -p /dev/ttyO0 -c -l 250

这可实现 RTS/CTS 流量控制,并发送带有计数模式的数据, 两次读取之间延迟 250 毫秒,这将导致缓冲区填满并开始使用流量控制。同样程序将报告模式中任何缺失的数据,如果流控制正常工作,则不应有任何缺失数据报告。

此测试可以使用环回电缆完成,也可以通过在串口连接的两端运行程序来完成。

对于双端口解决方案,请在接收端调用以下命令:

linux-serial-test -s -e -p /dev/ttyO1 -t -c -l 250

在发射端:

linux-serial-test -s -e -p /dev/ttyO0 -r -c

可在脚本中使用的压力测试

linux-serial-test -s -e -p /dev/ttyO0 -b 115200 -o 5 -i 7

此命令发送五秒钟,接收七秒钟,之后它将退出。如果接收的字节数与发送的字节数匹配,并且接收的模式是正确的,则退出代码将为零,因此这可以用作自动测试脚本的一部分。

输出一个模式,您可以在其中使用示波器轻松验证波特率

linux-serial-test -y 0x55 -z 0x0 -p /dev/ttyO0 -b 3000000
这将输出易于测量的10位,然后在头部乘以10以获得波特率。

Linux串口测试工具相关推荐

  1. Linux 串口测试 操作说明

    1. 工控机的串口文件 & 测试工具cutecom介绍 linux 中的串口文件 $ ls /dev/ttyS* /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/t ...

  2. Android 通过串口获取设备号 android串口测试工具 完整解析

    前言 android 工业平板RK3399-all 调试有关串口的设备 如何获取对应的串口设备及串口名字 先来一张图说明 获取串口 SerialPortFinder mSerialPortFinder ...

  3. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack

    LINUX系统下MySQL 压力测试工具super smack 发布时间:2008-09-08 17:03:39   作者:佚名   我要评论 1. 源文件下载地址:http://vegan.net/ ...

  4. Python双串口测试工具

    这是一个针对特定应用的测试工具,主要实现两个串口设备之间自动通讯与测试. 界面如下: 代码如下: #!/usr/bin/env python # coding=utf-8import serial i ...

  5. stress linux 下压力测试工具

    stress介绍 stress 是Unix类系统下的工作量和压力测试工具.它可对用户指定的CPU数量的I/O,内存和硬盘进行负载并报告它检测到任何错误. stress 下载.安装 下载 wget ht ...

  6. linux gpu 测试工具,推荐 7 大 Linux GPU 监控和诊断命令行工具

    原标题:推荐 7 大 Linux GPU 监控和诊断命令行工具 作者:Linux迷 链接:https://www.linuxmi.com/7-linux-gpu-jiankong.html 视频卡是一 ...

  7. ubuntu安装kali linux工具,Ubuntu安装Kali Linux渗透测试工具

    我想大多数Linux用户都听说过Kali Linux这个版本.它是一个非常好的用于渗透测试的Linux发行版.但通常我们需要在电脑上安装一个完整的Kali Linux才能使用它各种各样的工具.Lion ...

  8. Linux下压力测试工具-stress

    参考: https://blog.csdn.net/cojn52/article/details/89680093 https://blog.csdn.net/supahero/article/det ...

  9. linux stress 工具,Linux压力测试工具stress的参数详解

    为了测试根据服务器的负载情况,给大家推荐下stress这个压力测试工具,具体安装方式就不说了,本文主要介绍下stress的命令参数,大家可以在环境上验证测试下. 参数说明: -? 显示帮助信息 -v ...

最新文章

  1. JavaScript实现放大镜功能
  2. XNA游戏开发之(六)——保存游戏数据
  3. 作用域,上下文,闭包
  4. Elasticsearch笔记(七):聚合查询
  5. C# 进制转换(二进制、十六进制、十进制互转) .
  6. java分页插件使用_MyBatis-Plus之分页插件使用
  7. Scala函数使用可变参数
  8. bzoj 1655: [Usaco2006 Jan] Dollar Dayz 奶牛商店(高精度完全背包)
  9. 前端---二级级联下拉列表的实现
  10. 基于MATLAB绘制双纵坐标轴图
  11. 【第27篇】MobileNetV2:倒置残差和线性瓶颈
  12. 为什么使用Hadoop?
  13. No thread-bound request found: Are you referring to request attributes outside of an actual web
  14. Unix 编程三件套环境搭建
  15. 【洛谷】P1593 因子和
  16. 如何快速搭建”疫情问答“小助手服务
  17. 聊天机器人这么火,背后的技术你都知道吗?
  18. GLOG如何清理日志
  19. (一)白皮书、绿皮书、蓝皮书和黄皮书的区别
  20. 张飞老师硬件第二十四部--马达驱动--原理图设计①----3LDO电路

热门文章

  1. MDN是什么?MDN中文名?MDN Web Docs是什么?MDN Web Docs中文名是什么?
  2. 特别引人注目的头像_引人注目的:无需编写代码即可创建美观,针对移动设备优化的网站
  3. STM32F1 HAL库读写SD卡的操作要点
  4. 一位实习生对软件测试的看法
  5. 60度斜坡怎么计算_坡度怎么计算
  6. 数学分析教程 番外篇(2):微分方程 学习感受
  7. https://www.yearbookchina.com
  8. python变量保存为.mat文件
  9. 办公族久坐对颈椎不好,快快试试这个体操吧
  10. 电压放大器原理(电压放大器适用于什么场合使用)