文章目录

  • 一、操作系统和输入输出设备的联系
  • 二、应用程序和操作系统的联系
  • 三、zigbee上位机具体实现结果:
  • 四、实现上位机的具体流程:
  • 五、通过windows API实现串口通信的原理:

一、操作系统和输入输出设备的联系

  1. 操作系统能操纵输出设备执行特定功能

    比如让声卡发声,显卡显示图形

  2. 操作系统能感知输入设备状态变化

    比如让鼠标移动键盘按下,并且知道鼠标具体位置,键盘按下哪个字符

二、应用程序和操作系统的联系

  1. 操作系统把他能够完成的功能封装到了函数里。

  2. 这些函数的集合叫做windows操作系统提供给应用程序编程的接口,简称API。

  3. 应用程序通过函数调用的方式通知操作系统执行相应功能。

  4. 操作系统能够将输入设备变化上传给应用程序,但是操作系统并不对这事件做什么反应,而是将这事件交给应用程序,由应用程序决定如何做出反应。大脑相当于应用程序,神经末梢相当于操作系统。

  5. 简单来说,应用程序能够让操作系统执行某一具体动作,操作系统只是有能力去执行,但是它不知道何时,以什么样的方式执行。这好比机器人能行走,能说话,但是人不跟他说朝哪走,说什么话,那机器人虽然有行走说话的能力,它还是不会去行走说话。机器人就是操作系统,人就是应用程序。

三、zigbee上位机具体实现结果:

首先我们用虚拟端口进行模拟,COM1和COM2口进行数据交互

然后打开串口调试助手,设置串口号为COM2

然后启动mfc程序,设置端口号为com1,打开串口,然后点击手动刷新

我们让COM2作为发送方,COM1作为接收方,然后通过串口调试助手发送数据:
3A 00 01 00 20 50 00 00
其中20和50分别是温度和湿度的数据位。
此时上位机程序界面显示如下:

其中点击手动刷新的时候,串口调试助手里面出现:

说明上位机也可以向下位机发送数据。
添加工业控件:

你的mfc程序将变得更加花里胡哨。。。

然后不用调试助手,把zigbee模块连电脑上,只要你的下位机能发出3A 00 01 00 20 50 00 00 这个数据,我上位机就能显示你的温度和湿度 。

我们下位机做的很水,用按键触发,按一次发一次数据,显示一次温度。。。

四、实现上位机的具体流程:

五、通过windows API实现串口通信的原理:

zigbee上位机通过vs2019的mfc实现相关推荐

  1. 用MFC上位机开发入行经历

      原来严格来说是干杂活的,会点PLC.单片机.C语言.CAD制图,流水线装配工人,就是小公司里干杂活.但是我接触的种类比较多什么西门子.三菱欧姆龙.施耐德略有接触,AT89C51\STC89C52\ ...

  2. VS2019 WPF制作OTA上位机(一)新建工程

    首先创建新项目,文件 -> 新建 -> 项目 下拉菜单选择C#和Window,选择WPF应用程序,下一步 输入项目名,下一步 这里选择.NET 5.0,也可以选择其他的,个人习惯.NET, ...

  3. C++ MFC实现基于RFID读写器的上位机软件

    C++ MFC实现基于RFID读写器的上位机软件 该博客涉及的完整工程托管在https://github.com/Wsine/UpperMonitor,觉得好请给个Star (/▽\=) 运行和测试环 ...

  4. 最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)

    第一篇:最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传) 第二篇:最简单DIY基于ESP32CAM的物联网相机系统②(在JAVAWEB服务器实现图片查看器) 第三篇:最简单DI ...

  5. vc控制计算机关机,192上位机VC MFC实现电脑的重启关机注销功能

    192上位机VC MFC实现电脑的重启关机注销功能.jpg (9.09 KB, 下载次数: 0) 192上位机VC MFC实现电脑的重启关机注销功能 2016-1-29 21:26 上传 192上位机 ...

  6. 基于VS2015,MFC平台的上位机串口程序搭建详细教程(兼容debug x64、win32 、x86等解决方案平台)

    通常在32位编译环境下,我们可以通过插入MFC串口控件(MSCOMM32.OCX)的方式来实现串口通信,但是MSCOMM32.OCX不支持64位编译环境,也就是说,在x64解决方案平台下会报错.为此, ...

  7. 嵌入式与卫星导航定位上位机软件开发(基于MFC框架)

    嵌入式与卫星导航定位上位机软件开发(基于MFC框架) 1 串口通信--MSComm 控件 2 数据绘图--ChartCtrl 3 小结 专业课程要求,在SEED-DEC6713开发板上实现实时的单点定 ...

  8. zigbee项目之上位机app远程控制终端

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 由于学校 ...

  9. mfc上位机网络接收图片并显示_工控机上位机软件的开发历程

    微信号 :thinger_swj微博:@新阁程序园扫码关注 上位机软件的主要功能是采集各仪器的数据,然后存储起来,并传送到环保局平台. 刚开始使用的是组态软件(用以显示流程图),然后再开发了报表软件. ...

最新文章

  1. 第一章 MongoDb概述
  2. 一个 Java 对象到底有多大?
  3. linux执行某个目录的程序
  4. python 任务计时器 apscheduler.schedulers
  5. ajax无刷新留言板远吗,基于jquery实现ajax无刷新评论
  6. 电子工程可以报考二建_毕业证上财务管理专业,可以报考二建吗?
  7. django 不包括字段 序列化器_手写一个Django序列化功能
  8. CSS样式表的规划与组织
  9. html扇形调节角度,CSS如何实现任意角度的扇形(代码示例)
  10. 企业文档管理_为什么这么多企业文档如此糟糕?
  11. 会话技术——Cookie和Session
  12. 最优化算法 之 遗传算法代码实现及说明
  13. 斗兽棋在线游戏HTML5小游戏,js --斗兽棋游戏
  14. 04_Mybatis输入\出映射
  15. html多页面之间如何通信,html5中sharedWorker实现多页面通信代码示例
  16. HTML+CSS实现按钮手风琴效果 | 青训营笔记
  17. %02d得意思是什么?
  18. 在当前项目组中引入敏捷开发思想
  19. 英语学了十年,还是学不会!建议你:那就别学了!
  20. 计算机屏幕出现蓝色条,我的电脑屏幕中间为何会有一道蓝色线条

热门文章

  1. Unsigned 陷阱
  2. Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境
  3. python 控制手机摄像头_python+open cv调用手机摄像头,保存文件
  4. gradle下bug修正后问题仍存在解决思路
  5. graphic头文件函数_graphics.h头文件
  6. php excel header,【IT专家】PHP生成excel,方法一-header生成
  7. python ftplib bufsize_python:ftplib模块
  8. mysql中if在oracle怎么用_mysql和oracle的mybatis操作
  9. Outlook2016未读邮件怎么设置字体颜色
  10. Git上传代码到coding.net