多功能嵌入式解码软件(2)

多功能嵌入式解码软件(2)

 验证类库

 通信协议

下面进行一个示例:

    下位机需要向上位机发送3中数据帧,数据帧以功能码来识别,每种数据帧的协议如下3个表格所示,上位机需要把这些数据按照协议解码出来,并进行保存以便分析。

通信协议:

 

 

准备协议文件

  按照通信协议编写协议文件
 

/*
this is a protocol
2019-03-28
正文中不可以出现注释
e.g. 正文//注释内容
e.g. 正文
//注释内容
正文开头第一行必须是frameType
*/
/*
目前最后一行必须是空行
*/
frameType=header2 function
header1=0xA0
header2=0xA1
body=1
function=0xB1
index=1,type=unsigned char
index=2,type=unsigned short
index=3,type=unsigned int
index=4,type=short
index=5,type=int
index=6,type=float
index=7,type=double
endbody
body=2
function=0xB2
index=1,type=unsigned char
index=2,type=unsigned short
index=3,type=unsigned int
index=4,type=short
index=5,type=int
index=6,type=float
index=7,type=double
endbody
body=3
function=0xB3
index=1,type=unsigned char
index=2,type=unsigned short
index=3,type=unsigned int
index=4,type=short
index=5,type=int
index=6,type=float
index=7,type=double
endbody
check=CRC-CCITT
-----END FILE-----

模拟下位机发送数据

  为了方便分析,这里使用虚拟串口助手在电脑上模拟出两个串口端口

  编写软件模拟下位机按照协议发送数据

 

转载于:https://www.cnblogs.com/xutopia/p/10874960.html

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

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

相关文章

vue项目如何打包扔向服务器 - Hi-Sen - 博客园

当我们将 vue 项目完成后,面临的就是如何将项目进行打包上线,放到服务器中。我使用的是 vue-cli(simple) 脚手架,所以就讲一下如何将项目进行打包,并放到 tomcat 上。 如果是 vue-cli (非 simple 脚手架…

MySQL备份与恢复-mysqldump备份与恢复

这片博文主要用来介绍MySQL的备份与恢复: MySQL的备份形式可以分为如下几种: 热备----即不停机备份冷备----需要关闭MySQL,然后备份其数据文件。(停机备份一般是直接拷贝其datadir目录)温备----在线备份,对…

第六次实训作业异常处理

第六次实训作业异常处理 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入;在catch语句块中,捕获被0除…

k8s学习笔记-调度之Affinity

Kubernetes中的调度策略可以大致分为两种 一种是全局的调度策略,要在启动调度器时配置,包括kubernetes调度器自带的各种predicates和priorities算法,具体可以参看上一篇文章; 另一种是运行时调度策略,包括nodeAffinity…

MapReduce编程实践

一、MapReduce编程思想 学些MapRedcue主要是学习它的编程思想,在MR的编程模型中,主要思想是把对数据的运算流程分成map和reduce两个阶段: Map阶段:读取原始数据,形成key-value数据(map方法)。即…

webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server - QxQstar - 博客园

一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息。(也可以不生成package.json文件,但是package.json是很有用的,所有建议生成) 2.安装webpaack a.在全局中安装…

编译原理--NFA/DFA

现成的, 讲义: https://www.cnblogs.com/AndyEvans/p/10240790.html https://www.cnblogs.com/AndyEvans/p/10241031.html 一个例子, 写得非常好. 一下子就全明白了, 尤其是像我这种没有听过编译原理课程的人. https://blog.csdn.net/tyler_download/article/details/53139240 …

OpenLayers3关于Map Export的Canvas跨域

一 Canvas跨域现象 地图导出是地图中常用的功能,并且OpenLayers3中也提供了两个地图导出的例子:http://openlayers.org/en/latest/examples/export-map.html http://openlayers.org/en/latest/examples/export-pdf.html。 看到这两个例子我们都很兴奋,直…

typescript-koa-postgresql 实现一个简单的rest风格服务器 —— 连接 postgresql 数据库...

接上一篇,这里使用 sequelize 来连接 postgresql 数据库 1、安装 sequelize,数据库驱动 pg yarn add sequelize sequelize-typescript pg reflect-metadata 2、新建配置文件夹 conf 及 配置文件 db.conf.ts /*** name: 数据库配置* param : undefined* r…

SmartGit使用教程

说明 官网的客户端是命令行形式的,有兴趣可以去了解下。这里针对图形界面的smartgit做一个使用说明。 软件下载和安装 下载地址[2016.12.16测试可以] 按需选择,如果不知道自己电脑是什么系统的,那我没话说了https://www.syntevo.com/smartgit/ 安装 …

jquery 下拉框 select2 运用 笔记

1,添加select2 样式 参考&#xff08;https://select2.org/ &#xff09; 2,Html: <select id"txtType" name"Type" class"form-control select2" multiple"multiple"> </select> 3,jquery section scripts{ $(documen…

获取浏览器屏幕高度(js,jq) - 进击的小牛牛 - 博客园

javascript IE中&#xff1a; document.body.clientWidth > BODY对象宽度 document.body.clientHeight > BODY对象高度 document.documentElement.clientWidth > 可见区域宽度 document.documentElement.clientHeight > 可见区域高度 FireFox中&#xff1a; docum…

第一个爬虫和测试

Python测试函数的方法之一是用&#xff1a;try……except def gameover(a,b):if a>10 and b>10 and abs(a-b)2:return Trueif (a>11 and b<11) or (a<11 and b>11):return Truereturn False try:agameover(10,11)print(a) except:print("Error") g…

JS组件系列——Bootstrap 树控件使用经验分享 - 懒得安分 - 博客园

前言&#xff1a;很多时候我们在项目中需要用到树&#xff0c;有些树仅仅是展示层级关系&#xff0c;有些树是为了展示和编辑层级关系&#xff0c;还有些树是为了选中项然后其他地方调用选中项。不管怎么样&#xff0c;树控件都是很多项目里面不可或缺的组件之一。今天&#xf…

蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)

Description 如下面第一个图的九宫格中&#xff0c;放着 1~8 的数字卡片&#xff0c;还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动&#xff0c;可以形成第二个图所示的局面。我们把第一个图的局面记为&#xff1a;12345678.把第二个图的局面…

DIV或者DIV里面的图片水平与垂直居中的方法 - 站住,别跑 - 博客园

DIV或者DIV里面的图片水平与垂直居中的方法 <div class“box”><img /> </div> 水平居中的常用方式&#xff1a; text-align:center ——这可以实现子元素字体&#xff0c;图片的水平居中。 margin:0 auto —— 这是针对块元素的水平居中方法 垂直居中的常…

设置图片元素上下垂直居中的7种css样式_赵一鸣博客

设置图片元素上下垂直居中的7种css样式 阅读(9548) 2018-07-15 14:13:34 图片、文字左右居中很简单&#xff0c;只需要以下代码&#xff1a; 1 text-align:center; 文字上下居中也很简单&#xff0c;假设外部div元素的高度是100px&#xff0c;那么&#xff1a; 1 line-heig…

day36 Pyhton 网络编程03

一.内容回顾 socket通常也称作"套接字"&#xff0c;用于描述IP地址和端口&#xff0c;是一个通信链的句柄&#xff0c;应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 socket起源于Unix&#xff0c;而Unix/Linux基本哲学之一就是“一切皆文件”…

推荐21个顶级的Vue UI库! – TalkingData‘s Blog

推荐21个顶级的Vue UI库&#xff01; 最近&#xff0c;随着“星球大战”&#xff08;指 GitHub 的 Star 数量大比拼&#xff09;的爆发&#xff0c;Vue.js 在 GitHub 上的 Star 数超过了 React。虽然 NPM 的下载量仍然落后于 React&#xff0c;但 Vue.js 的受欢迎程度似乎在持续…

2019河北省大学生程序设计竞赛(重现赛)B 题 -Icebound and Sequence ( 等比数列求和的快速幂取模)...

题目链接&#xff1a;https://ac.nowcoder.com/acm/contest/903/B 题意&#xff1a; 给你 q,n,p,求 q1q2...qn 的和 模 p。 思路&#xff1a;一开始不会做&#xff0c;后面查了下发现有个等比数列求和的快速幂公式&#xff0c;附上链接https://www.cnblogs.com/yuiffy/p/380917…