当前位置: 首页 > news >正文

linux下监测串口数据

在编写上下位机通信代码时,需要分阶段测试,确保下位机,线路,上位机都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.lryc.cn/news/9598.html

相关文章:

  • 【面试之闭包】前端面试那些事(2)三分钟深入理解闭包(附详解实例)
  • 深入浅出带你学习WebSphere中间件漏洞
  • 如何一眼分辨是C还是C++
  • CMake系列:正确使用多配置编译系统
  • PCB中的HDI板生产中的变化
  • 程序分析与神经网络后门
  • redis主从哨兵模式
  • Spring 系列之 MVC
  • 电子技术——分立CS和CE放大器的低频响应
  • 代码随想录【Day16】| 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数
  • 状态机图、通信图题
  • 分布式文件存储Minio学习入门
  • handler解析(4)-Message及Message回收机制
  • Linux使用定时任务监控java进程并拉起
  • Win 10电脑摄像头提示错误代码0xa00f4244怎么办?
  • MFC消息机制
  • 全国计算机等级考试报名照片要求以及证件照制作教程
  • SQLSERVER 临时表和表变量到底有什么区别?
  • 技术生态异军突起,昇思MindSpore进入AI框架第一梯队
  • 审批流、工作流、业务流
  • 如何利用知识库加强内部管理?
  • 饕餮 NFT 作品集来袭!
  • C++中的内存分区、引用、函数
  • 关于angular表格total模板中一直为0
  • 多线程事务怎么回滚
  • 基于FPGA的时间数字转换(TDC)设计(五:基于Carry4的高精度TDC设计)
  • 【C++】二叉搜索树的实现(递归和非递归实现)
  • 春招来了,如何正确使用领英超高效招聘海外员工、挖掘人才?
  • Mysql中锁机制深入理解
  • 去中心化社交网络协议除了Nostr还有哪些?