分享一个基于QT的自定义串口助手
引
····设想这样一个场景:下位机FPGA通过串口uart来向PC上位机发送一个32bit的数据,
····如果下位机每次发送8bit 的 hex数据,则一帧的开始和结尾需要定义多个字节来避免和实际数据混叠;
····如果FPGA内部将2进制的原始数据转换成10进制的BCD,则转换过程麻烦,一是延时、二则消耗额外的资源
····这个问题我给出的答案是:原32bit的数据,每次取4bit,然后加上48(‘0’),再发送,上位机以ASCII码接收。这样存在一个问题,4bit的数据包括10、11、12、13、14、15等几个不存在单ASCII字符。48+10,+11,+12,+13…对应的字符分别是’: ; < = > ?’,所以本文分享的上位机的一个可勾选的自定义解码功能就主要是解决把’: ; < = > ?’ 替换成’ABCDEF’的,最终呈现出正确的16进制数。
软件介绍
上位机界面
功能
····1. 支持包括中文的ASCII收发;支持HEX数据接收,不支持HEX发送(没用就没写进去);
····2. 波特率支持1382400、256000、115200、57600、38400、19200、9600、4800;
····3. 勾选Reverse,支持ASCII字符倒序发送,即发送框内’ABCDE’ ,实际上发送’EDCBA’;
····4. 勾选帧控制,会在待发送的字符串前后分别加上帧头、帧尾中的内容,仅支持ASCII模式,且逻辑上先进行倒序处理,在进行帧判断。
····5. HEX checkbox框有3个状态,不勾选、半勾选、完全勾选;其中不勾选、完全勾选分别为ASCII和HEX接收,半勾选即本文开头所说的自定义解码功能以及其他对应的特殊处理。
程序
····程序平台: QT 5.14.2;
····使用语言: C++;
····代码地址: https://github.com/Jun005/Serial.git
····不包含可复制的exe程序包,因为有60MB+,不方便传github,需要程序包的可以留言。
结
····如果发现程序存在问题,欢迎交流指正。
分享一个基于QT的自定义串口助手相关推荐
- 一个基于QT设计串口调试工具
关注.星标公众号,直达精彩内容 来源:木南创智 整理:李肖遥 摘要:今天再次分享一个基于QT设计串口调试工具,源码在Gitee,代码简单,可操作性强! https://gitee.com/ErichM ...
- 分享一个基于 ABP(.NET 5.0) + vue-element-admin 管理后台
1.前言 分享一个基于ABP(.NET 5.0) + vue-element-admin项目.希望可以降低新手对于ABP框架的学习成本,感兴趣的同学可以下载项目启动运行一下.对于想选型采用ABP框架的 ...
- 【QT分享】基于QT+科大迅飞的连续语音识别
[QT分享]基于QT的连续语音识别 [复制链接] 电梯直达 跳转到指定楼层 21189 楼主| TShadow 发表于 2017-3-13 19:56:21 1# 本帖最后由 TShadow 于 20 ...
- 分享一个基于Vue3+TS构建Cesium组件库
分享一个基于Vue3+TS构建Cesium组件库 点击进入 Vue Cesium官网 //vc-navigation <template><el-row ref="view ...
- 分享一个基于 Spring Boot 的在线教育平台系统
今天给大家开源一个基于springboot的在线教育平台系统,系统是小孟开发的,第一个版本是小锋开发的.该系统完全免费.白嫖.系统完美运行.具体的介绍如下所示. 1. 技术介绍 核心技术:Spring ...
- [UWP]分享一个基于HSV色轮的调色板应用
原文:[UWP]分享一个基于HSV色轮的调色板应用 1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store ...
- 基于MCU_USB的虚拟串口助手实现
一 .实验目的: 通过MCU的USB模块加串口模块,实现一个串口助手的功能.具体操作为把USB接收到的数据通过串口发送,同时实现串口接收的数据回传到USB,从而实现从USB到TTL的电平转换. 二.实 ...
- Qt开发跨平台串口助手
为了方便调各种嵌入式外设而设计的一款串口助手,带实时绘图功能,可以在PC和安卓手机上使用 功能特性: 可在Windows, Ubuntu, Android, Raspbian上使用 快速响应 (可通过 ...
- 分享一个基于.NET6包含DDD,ES,CQRS等概念的开源项目
当你在学习DDD.CQRS或时间溯源时,除了大量的学习资源(比如书籍和文章)之外,你还接触到了许多概念,这些资源只是在讨论理论问题.这很好,我们知道他们在说什么,但我们如何在一个真正的项目中使用他们呢 ...
最新文章
- python使用matplotlib可视化线图(line plot)、将可视化图像的图例(legend)放置在图像外部、底部区域
- mac 需要修复你的资源库才能运行应用软件
- Javascript:this用法
- 使用UIBinder的GWT自定义按钮
- Java笔记——equals和==的区别
- python requests json_python:解析requests返回的response(json格式)
- 【远程重启】使用windows自带的shutdown命令远程重启服务器(测试不行,此文作废)...
- Air应用:Splus微博,wing微博
- 【编译原理】什么是上下文无关文法、上下文有关文法?
- selenium如何添加新标签页
- java计算机毕业设计vue健康餐饮管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
- 5A学友的备考心得 | PMP考试如何一把过?
- 企业测试环境部署(一)
- ARM系统下使用Vdbench测试存储性能
- 2.线性回归,梯度下降与正规方程
- 微信小程序答题,怎么设计页面渲染,答完一题,跳到下一题
- WRO机器人奥林匹克(大赛系列第8期)
- 腾云忆想技术文|CREDIS在TMF平台中的落地实践
- 【字符串比较函数】strcmp,stricmp,strcmpi区别
- 初学者随记03:uniapp中使用阿里云小图标