串口上位机(含ini加载命令上位机)

​0.    前言

    我们知道做嵌入式经常用到的一个终端就是串口,而串口的调试就少不了一个串口上位机,一直用网上下载的串口上位机方便是很方便,但存在这样一个问题,那就当我们调试蓝牙的时候是每次手动敲命令AT指令,感觉到好麻烦有没有。因此,个人找资料研究学习了一下串口上位机,并尝试编写了一个加载ini的上位机,现在分享给大家。

1.    上位机GUI开发的理解

    嵌入式开发过程中我们进程做的是底层的逻辑开发,特别是FPGA是最底层的开发了,但开发再好的底层都要呈现给客户使用,客户不可能通过黑客命令式的操作去使用购买的产品,在早期计算机刚起来的时候也的确是那样,那时候计算机一是贵,二是门槛高,不是一般人就能玩的了的,后来微软开发了PC端的操作系统,其实你可以理解为一款非常复杂的上位机GUI,方便了大家的使用,让更多的人可以方便的使用计算机。

    目前大家知道上位机开发比较多的有Qt,VB、C#,现在还有pyQt,它是python下调用Qt来开发的,有Qt和Python二者的优势。都是由面向对象编程将界面开发和逻辑开发独立开:界面由各种控件组成,逻辑则是响应各个界面的各种操作。

    这些上位机开发都是基于面向对象编程的,都是用比较高级的语言来开发的一个架构,偏应用层的开发,开发的大致思路都是根据架构来调用类的各种属性完成操作。不好的就是一般都是PC端的GUI开发架构,很难移植到对资源和功耗有要求的嵌入式平台上,现在急缺这样一个GUI架构,周立功目前正在做这个架构的开发,做的还不错,有兴趣的可以去了解下。

2.    面向对象编程思想的简单学习

    最近学习了一下面向对象编程的思想,发现做嵌入式的真的有必要学习一下,一则开拓我们的编程思路,二来以后需要一个简单的上位机可以自己自由编写一个也是方便很多。

    简单学习了一下面向对象编程,刚开始发现自己很难理解和接收,可能是做底层太久了,思维定式根深蒂固的原因,后来发现其实和嵌入式学习一样的:

  • 首先就是明白为什么要面向对象编程:当你去建一个房子的时候,你可以注意每一个细节每块砖,但当你去建一栋大楼的时候,那就不可能去关注每一个细节每一块砖,其实你只需要去和搞负责工程的包工头沟通就行,有什么事安排给他们就行。好比上位机设计的时候需要操作某个窗口属性时,只需要告知窗口,无需直接操作底层来改变窗口属性。

  • 其次就是类的理解:当操作窗口某个属性时,这里的窗口就需要分类,也就有了各种各样的不同类的窗口,它们就有包含和交叉的属性,操作这些属性就是类的方法。

  • 怎么使用类和方法:有了分类,我们就new新建一个,然后使用它的属性也就是方法来执行对应操作,就好比我招了一个砌砖工人,给他分配他有的属性砌砖。

 

3.    GUI开发手段的方式了解和对比学习

    最近了解了MFC、Qt、PyQt、C#,其实刚开始学MFC和Qt组件和窗口太多一头雾水,毕竟个人算是零基础,后面接触到PyQt,一种用Python开发的GUI,突然有种是曾相识的感觉,借着这种感觉,买了几本书,纵向比较MFC、Qt、PyQt,发现他们大同小异,再通过串口上位机入手,算是勉强可以写一个通过ini来配置命令的上位机给自己用,下面是个人心得。

 

4.    个人尝试开发的加载ini命令的串口上位机V1.0

    个人尝试开发的,功能还有不足,可能存在bug,仅供学习

  • 自定义ini文件加载串口指令(最多8个命令,只识别一字节的16进制字符命令,如AA);

  • 自动扫描可用串口端口,并显示对话框;

  • 显示串口连接状态,发送状态,接收的状态。   

    ini文件格式要求如下图,最多支持8个指令:

    没有用实际硬件测试,只通过虚拟串口测试通过,如下图:

5.    资源分享

    相应下载链接如下,可能存在bug哦,请谨慎学习。

链接:https://pan.baidu.com/s/1M7uJWsn4RWsbOygsXsnAgA

提取码:5otn

复制这段内容后打开百度网盘手机App,操作更方便哦

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值