最近在学习STM32单片机,然后对上位机控制硬件电路产生兴趣,于是想做个上位机程序,通过串口获取ADC数据,然后将产生的数据送入matlab中做数据处理,再通过串口发送给单片机系统。网上参考不同的编程语言建议,有VB,VC++,C#等,最后选择VC++。VC++之前没有接触过,先照着网上的帖子做一遍,参考下面的帖子:

VS2012串口助手编程C++:https://blog.csdn.net/tianyake_1/article/details/65646466

C控件MSComm编写串口通信程序:https://wenku.baidu.com/view/9e9b258c6c175f0e7cd137b6.html?from=search

第一步,熟悉VS2012

新建项目,选择MFC应用程序,名称使用MFC(建议使用跟我一样,后面的程序能更好的对应起来),然后选择安装位置。

这一步选择基于对话框的应用程序类型,至于单个文档、多个文档、基于对话框的区别如下:

单文档:记事本类程序的标准模式,有菜单栏、工具栏等,只能进行一份文档的操作,即不能同时在同一个应用程序中打开两个文件,如下图所示的记事本。

单文档

多文档:WORD类或浏览器程序的标准模式,可多个窗口显示不同的信息,进行不同的任务,有多个视图环境,可同时操作多个文件。多个文件共享同一菜单栏、工具栏等,如下图所示的office word。

对话框:可方便的使用控件,所见即所得的编程,没有菜单栏、工具栏等,如下图所示的串口调试助手。

怎样看出一个MFC应用程序是基于单文档、多文档还是对话框?

1.运行应用程序观看,对话框一般没有菜单栏、工具栏等,单文档和多文档有,另多文档可产生子窗口,会有一个childframe class

2.从源码中的类观看:

基于对话框—>一般含以下3个类:CAboutDlg、程序名App、程序名Dlg

基于单文档—>一般含以下4个类:CMainFrame、程序名App、程序名Doc、程序名View

基于多文档—>一般含以下5个类:CMainFrame、CChildFrame、程序名App、程序名Doc、程序名View

点击完成按钮,完成MFC应用程序的创建,创建好的MFC应用程序如下图所示:

第一步:添加控件

将主窗口中对话框中的所有内容清空,包括“TODO:再次放置对话框控件”以及"确定"跟"取消"两个按钮控件。

PS:如果你重新打开这个项目,会发现主窗口是空的,这个时候需要双击打开资源视图的一个文件,如下图所示:

找到右侧"工具箱"菜单栏,添加如下几个控件:2个 Edit Control 控件,1个 Combo Box 控件,2个 Button 控件。

从 工具-->选择工具箱集-->COM控件中找到 Microsoft Communications Control 这个串口通讯控件。

然后将对话框中的各种控件的ID寄名称修改如下:

IDC_COMBO_CommSelect 属性里面的Data:COM1;COM2;COM3;COM4;COM5;COM6;COM7;COM8; // 注意使用;分隔 。如果你电脑中的COM口超过这个数字,可以在此处添加。如下图所示:

控件类添加成员变量

点击  项目-->类向导 或者  Ctrl+Shift+X 按照下面的步骤操作:

IDC_COMBO_CommSelect:(Control类型)

IDC_COMBO_CommSelect:(Value类型)

IDC_EDIT_RXDATA:(Value类型)

IDC_EDIT_TXDATA:(Value类型)

IDC_MSCOMM1:(Control类型)

至此,所有的框架都准备完成,点击编译,应该没什么错误。

接下来就是代码部分。

零基础 VS2012 串口编程相关推荐

  1. c语言单片机自动浇花系统,Arduino零基础C语言编程ch5-5.13综合示例–自动浇花系统...

    <Arduino零基础C语言编程ch5-5.13综合示例–自动浇花系统>由会员分享,可在线阅读,更多相关<Arduino零基础C语言编程ch5-5.13综合示例–自动浇花系统(5页珍 ...

  2. 零基础入门STM32编程(三)

    前情回顾 通过前面两篇文章的学习,我们已经对STM32有了一定的了解,知道了STM32单片机的基本分类和不同产品间的特点等知识,今天起围绕STM32F103xx继续深入浅出地学习单片机编程. 一.总线 ...

  3. 【组队学习】【34期】零基础学python编程思维

    零基础学python编程思维 航路开辟者:邓林权 领航员:沈一 航海士:覃嘉俊.马子阳.左凯文 基本信息 开源内容:https://linklearner.com/datawhale-homepage ...

  4. 怎么自学python编程-零基础如何自学编程?

    原标题:零基础如何自学编程? 对于所有编程学习者,尤其是零基础的同学们,在学习的初期,一定要给自己做一个思想上的转在我的编程学习理论中,这个思想的转变至关重要,什么时候你把这个思维转换过来了,你就是真 ...

  5. python编程零基础-如何零基础入门Python编程?

    Python目前已经成为最受欢迎的编程语言之一,吸引了一大批粉丝,但是很多人在要跨入的时候犹豫了,原因竟然是觉得零基础学习Python太难了,真的是这样吗?零基础入门Python编程学习有什么好的技巧 ...

  6. 0基础学python看什么书-零基础学python编程需要看什么书?

    原标题:零基础学python编程需要看什么书? 随着互联网迅速发展,python也呈现出水涨船高的态势.近年来,python在编程语言中一直名列前茅.编程初学者纷纷选择Python作为第一语言.Pyt ...

  7. 零基础学Java编程一定要上Java培训机构吗

    在当下各个行业的发展之中,IT行业发展的速度蹭蹭往上涨,从事IT行业的朋友薪资也是比其他行业要乐观的多,甚至可以说是遥遥领先.当下很多朋友对Java开发技术相当的感兴趣,大家又说Java开发比较难学, ...

  8. python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?

    转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...

  9. 零基础学python图文版-零基础学Minecraft编程(图文版)中文pdf_Python教程

    资源名称:零基础学Minecraft编程(图文版) 中文pdf 概述 1 Minecraft 是什么 1 虚拟世界 2 Minecraft 是如何诞生的 2 Minecraft 编程是什么 2 这本书 ...

  10. 零基础学python图文版-零基础学Minecraft编程(图文版) 中文pdf完整版[41MB]

    零基础学Minecraft编程(图文版)是非常有趣的Minecraft编程入门学习书.在Minecraft游戏中,你可以学习许多Python编程技能,在 PC.Mac或树莓派上与游戏进行互动,更可将M ...

最新文章

  1. LINUX:PS命令详解与使用!
  2. android升级gradle到3.4.1
  3. 金融货币衍生工具(结构性存款)
  4. 计算机四级分数怎么查,计算机三四级成绩查询正确打开方式
  5. apache强制https访问
  6. 计算机视觉和模式识别领域SCI期刊介绍
  7. 微信开发(02)之处理微信客户端发来的消息
  8. 五大关键物联网应用助力优化数据中心基础设施管理
  9. Linux下硬盘安装linux
  10. 漫画:什么是分布式事务
  11. Redis 属于单线程还是多线程?不同的版本有什么区别?
  12. TIOBE 9 月编程语言榜:Python 居然超越了 C++!
  13. 第一:Postman安装及使用(超详细)
  14. vb 开机到现在的时间
  15. 蓝桥杯ALGO-125算法训练 王、后传说(回溯、递归)
  16. 【SSH密钥生成与使用】
  17. 设计专业是计算机的吗,计算机平面设计是属于计算机什么专业范畴?
  18. Fatal error: Failed to identify device. Check connections and/or resethardware
  19. python画玫瑰曲线_turtle画玫瑰花,表白必备
  20. Java中如何定义一个数组呢?

热门文章

  1. 圈子圈套 pdf_名字叫什么? 如何圈套好域名
  2. 网络安全系列-XI: 主流网络协议介绍
  3. linux init进程源码,Android启动Init进程源码分析
  4. kali攻击手机_kali linux入侵安卓手机
  5. 金山打字计算机实验报告,打字实训报告总结(共10篇).docx
  6. erdas2015几何校正模块在哪_什么是几何校正和正射校正还有怎样用erdas做几何校正...
  7. 2018年湘潭大学程序设计竞赛 - 题解
  8. 6 种 Python 数据可视化工具
  9. 京东商城逆势融资B2C成投资热土
  10. Qt:QtFileDialog打开文件选择对话框选择文件