linux下监测串口数据

news2025/1/11 2:22:00

在编写上下位机通信代码时,需要分阶段测试,确保下位机,线路,上位机都OK.

一.检查设备数据传出

1.确定下位机的串口参数

  如果波特率有问题,可能会出现连接成功,但是数据乱码

2.windows平台检查

  下位机多数是在windows下开发,

  首先在windows环境下检查,设备数据传出是否成功

  使用串口传输助手观察数据,下载链接:  

https://download.csdn.net/download/wangpailiulanqi8/87454704icon-default.png?t=N176https://download.csdn.net/download/wangpailiulanqi8/87454704

3.linux平台检查

  启动下位机设备,让其发送数据

  开启终端,检查数据传输

# gr @ gr-System-Product-Name in ~ [16:21:53] 
$ hexdump -C file01.txt
00000000  64 66 72 0a 63 63 66 76  66 62 67 62 67 0a 07 62  |dfr.ccfvfbgbg..b|
00000010  63 64 65 66 67 68 0a 0a  62 63 64 65 66 67 68 0a  |cdefgh..bcdefgh.|
00000020
# gr @ gr-System-Product-Name in ~ [16:24:38] 
$ hexdump -c file01.txt
0000000   d   f   r  \n   c   c   f   v   f   b   g   b   g  \n  \a   b
0000010   c   d   e   f   g   h  \n  \n   b   c   d   e   f   g   h  \n
0000020

注:发送数据一定要>16字节

二.代码写入串口

1.运行代码

  代码中打开串口/dev/ttyUSB0,写入数据

2.检测数据

  同上,使用hexdump指令

hexdump -C < /dev/ttyUSB0                             // 以十六进制打印数据

  

三.模拟设备数据回传

  上位机需要对设备回传的数据进行处理,

  使用usb短接工具,发送给该端口的数据,将被回传.

附录

四.虚拟串口

//安装socat
$ sudo apt-get install socat


//虚拟出两个串口 /dev/pts/4   /dev/pts/5
$ socat -d -d pty,raw,echo=0 pty,raw,echo=0
2023/02/14 14:37:53 socat[2179681] N PTY is /dev/pts/4
2023/02/14 14:37:53 socat[2179681] N PTY is /dev/pts/5
2023/02/14 14:37:53 socat[2179681] N starting data transfer loop with FDs [5,5] and [7,7]


//另外打开两个终端
//终端01发送数据
$ echo "bcdefgh1234567890" > /dev/pts/4


//终端02接受数据
$ cat /dev/pts/5
bcdefgh1234567890

$ hexdump -C < /dev/pts/5
00000000  62 63 64 65 66 67 68 31  32 33 34 35 36 37 38 39  |bcdefgh123456789|

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SVN转GIT

SVN迁移至GitPS&#xff1a;进入正文前&#xff0c;提一句题外话&#xff0c;建议参考官网教程看&#xff0c;因为很多情况&#xff0c;别人写的只是针对自己所对应的场景&#xff0c;可能并不符合你所面对的场景&#xff0c;这里附上官网教程链接&#xff1a;Git官网迁移教程收…

【JavaWeb】传输层协议——UDP + TCP

目录 UDP协议 UDP协议结构 UDP的特点 TCP协议 TCP协议结构 TCP的特点 TCP的十个核心机制 确认应答 超时重传 连接管理 滑动窗口 流量控制 阻塞控制 延迟应答 捎带应答 粘包问题 异常处理 UDP协议 UDP协议结构 源端口&#xff1a;存储的是发送方的端口号。 目的…

Python循环语句代码详解:while、for、break

目录 1 while循环 1 while循环 循环语句是程序设计中常用的语句之一。任何编程语言都有while循环&#xff0c;Python也不例外。while循环的格式如下所示。 while(表达式): … else: … while循环的执行过程&#xff1a;当循环表达式为真时&#xff0c;依次执行whi…

使用webpack(4版本)搭建vue2项目

在学习webpack之前&#xff0c;也从网上搜过一些用webpack搭建vue项目的博客&#xff0c;但是在自己使用的时候会报各种的问题&#xff0c;报错的根本原因其实就是版本的问题&#xff0c;以下代码是经过解决了许多报错问题研究出来最简单最方便搭建vue2项目的方法首先创建一个空…

配置okta saml验证单点登录splunk

目标 使用okta作为splunk单点登录身份提供程序&#xff0c;通过saml身份验证配置&#xff0c;可实现通过okta平台账号单点登录splunk应用 环境准备 1. okta环境 首先在okta上注册一个账号&#xff0c;注册地址https://login.okta.com/signin/register/ &#xff0c;注册完成…

使用gaussian和antechamber拟合RESP电荷过程

使用gaussian和antechamber拟合RESP电荷过程 我们以甲烷为例子 使用gaussian和antechamber拟合RESP电荷的过程大致分为两步&#xff1a;首先通过gaussian计算得到esp电荷&#xff0c;然后使用antechamber拟合resp电荷. 构建分子的结构文件&#xff0c;并存为mol2文件 2 使用…

工业网关控制器CK-GW06-E01与欧姆龙 PLC配置说明

工业网关控制器CK-GW06-E01是一款工业级网关控制器&#xff0c;以太网通信接口&#xff0c;支持 EtherNet IP|Modbus TCP 工业协议。可实现一拖六&#xff0c;同时带有六组输入 检测 IO 和六组输出控制 IO。 本文将重点介绍工业网关控制器CK-GW06-E01与欧姆龙 PLC配置说明。 工…

正大国际期货:影响国际恒生指数期货价格波动的因素!

香港是世界第三大金融中心,是一个世界性的金融市场,恒生指数是反映香港股市价幅动趋势最有影响力的一种股价指数。那么有哪些因素会影响其波动价格呢&#xff1f;下面正大IxxxuanI详细来讲解一下&#xff01; 一、欧美股市的涨跌 恒生指数的交易遍布全球各国,由于时差的原因,…

【自学Python】一文读懂Python字符串是否是数字

Python字符串是否是数字 Python字符串是否是数字教程 在开发过程中&#xff0c;有时候我们需要判断一个 字符串 是否是 数字 形式&#xff0c;在 Python 中&#xff0c;判断字符串是否只由数字组成的函数为 isnumeric() 。 isnumeric() 函数只能判断 unicode 字符串&#xf…

FPGA时序约束与分析 --- 时序约束概述

本系列参考文献 — FPGA时序与约束分析-吴厚航 FPGA从综合到实现需要的过程如下&#xff1a;synth_design -> opt_design -> place-design -> phys_opt_design -> route_design 1、时序约束的理解 2、时序约束的基本路径 3、时序约束的步骤 4、时序约束的主要方法…

华为手表开发:WATCH 3 Pro(7)获取电量信息

华为手表开发&#xff1a;WATCH 3 Pro&#xff08;7&#xff09;获取电量信息初环境与设备文件夹&#xff1a;文件新增第二页面showBatteryInfo.hmlshowBatteryInfo.js修改首页 -> 新建按钮 “ 跳转 ”index.hmlindex.js 引用包&#xff1a;system.router首页效果点击结果初…

ChIP-seq 分析:Mapped 数据可视化(4)

1. Mapped reads 现在我们有了 BAM 文件的索引&#xff0c;我们可以使用 idxstatsBam() 函数检索和绘制映射读取的数量。 mappedReads <- idxstatsBam("SR_Myc_Mel_rep1.bam")TotalMapped <- sum(mappedReads[, "mapped"])ggplot(mappedReads, aes(x…

SpringAOP切面实例实现对数据过滤返回,SpringAOP切面实现对用户权限控制,通过@Around注解过滤修改方法返回值

文章目录需求内容:实现&#xff1a;步骤一&#xff1a;导入SpringAOP相关依赖pom.xml步骤二&#xff1a;自定义两个注解步骤三&#xff1a;需要用到的实体类**步骤四&#xff1a;切面具体实现**用法1.需要过滤返回值的方法添加注解FilterByUser2.数据Dto在需要过滤的字段添加Fi…

树与二叉树 总复习

一、树的定义 树是一个有n个&#xff08;n>0&#xff09;结点的有限集合。 如果n0&#xff0c;称为空树&#xff1b; 如果n>0&#xff0c;称为非空树&#xff0c;有且仅有一个特定的称为根Root的结点&#xff08;无直接前驱&#xff09; 如果n>1,除了根节点外&…

总结高频率Vue面试题

目录 什么是三次握手&#xff1f; 什么是四次挥手&#xff1f;&#xff08;close触发&#xff09; 什么是VUEX&#xff1f; 什么是同源----跨域&#xff1f; 什么是Promise&#xff1f; 什么是fexl布局&#xff1f; 数据类型 什么是深浅拷贝&#xff1f; 什么是懒加载&…

HTB打靶(Active Directory 101 Multimaster)

Nmap扫描 Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-08 02:52 EST Stats: 0:00:51 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan SYN Stealth Scan Timing: About 55.85% done; ETC: 02:54 (0:00:40 remaining) Nmap scan report for 10.129…

AcWing语法基础课笔记 第四章 C++中的数组

第四章 C中的数组 程序 逻辑 数据&#xff0c;数组是存储数据的强而有力的手段。 ——闫学灿 一维数组 数组的定义 数组的定义方式和变量类似。 数组的初始化 在main函数内部&#xff0c;未初始化的数组中的元素是随机的。 访问数组元素 通过下标访问数…

【正点原子FPGA连载】第十三章QSPI Flash读写测试实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十三章QSPI Fl…

异构数据库同步方案

目录 1 概述 2 原理 3 参数 1 概述 将企业生产系统产生的业务数据实时同步到大数据平台&#xff0c;通过对业务数据的联机实时分析&#xff0c;快速制定或调整商业计划&#xff0c;提升企业的核心竞争力。 依据同步数据是否需要加工处理&#xff0c;采用不同的技术方案&am…

网页概念、常用浏览器及内核、Web标准

网页、常用浏览器及内核、Web标准一、网页1.1、什么是网页&#xff1f;1.2、什么是HTML?&#xff08;重点&#xff09;1.3、网页的形成&#xff1f;二、常用浏览器三、浏览器内核四、Web标准&#xff08;重点&#xff09;4.1 为什么需要Web标准&#xff1f;4.2 Web标准的构成一…