电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>C语言|源代码>C++Builder的串口数据实时曲线绘制

C++Builder的串口数据实时曲线绘制

2017-10-27 | rar | 0.6 MB | 次下载 | 1积分

资料介绍

   在海洋投弃式温盐深剖面测量中,需要进行大量的实时数据采集和可视化显示,经过软件处理后形成的曲线比原始数据更能给人直观的印象。C++ Builder是一种面向对象的可视化应用程序开发工具,为程序开发人员提供了十分轻松而快捷的开发环境。它以其友好的界面设计和方便的编程实现,广泛应用于工程实践中。本系统在C++ Builder环境下针对抛弃式温盐深剖面测量系统进行软件设计。其中利用C++ Builder进行数据的串行传输的方法,只要根据实际情况对代码稍做修改,即可应用到其他的以串口测量的系统,具有一定的通用性。
  1 系统概述
  该软件在Windows操作系统下以C++ Builder为开发平台,应用于海洋投弃式温盐深剖面测量系统中的实时数据采集与处理。如图1所示,其主要包含与下位机通信、实时数据处理、实时曲线显示和数据导出,浏览等部分。软件以RS 232方式与下位机进行通信。对接收的数据进行处理和温度盐度曲线绘制后可在每次测量结束后自动将所有数据存储到Realtime Data文件夹和Backup文件夹中。操作人员可以对历史数据进行查询,并根据需要打印。
  C++Builder的串口数据实时曲线绘制
  2 串口通信
  2.1 MSComm控件
  MSComm(Microsoft Communications Contro1)控件是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。它的安装也十分简单,只需把VB安装目录下Mscomm.reg、Mscomm32.ocx、Mscomm32.dep这三个文件拷贝到Windows的system32目录下。然后用Windows下的注册工具regsvr32注册该OCX控件,剩下的工作是在C++ Builder中导入这个ActiveX控件,进入C++ Builder环境在Component菜单下选Import ActiveX Control,这时在列表中可以看到Microsoft Comm Control 6.0选项, 选中这个选项点击Install按钮,完成安装。在ActiveX控件页面上可以看到一个为电话图标的控件,这就是MSComm控件。
  MSComm控件有很多属性,如CommPort属性用来设置或返回通信端口号,可以设置为1~16之间的任何值,本系统采用缺省值2;Settings属性以字符串形式设置或返回波特率、奇偶校验、数据位和停止位,本系统采用缺省值“9 600,n,8,1”;
  PortOpen属性用来设置或返回通信端口的状态以及打开和关闭端口;InBufferSize和OutBufferSize属性分别设置接收和发送缓冲区分配的内存数量,单位为字节。
  MSComm控件提供了两种处理通信问题的方法:(1)事件驱动方式,当串口上发生某一事件时,MSComm控件将解发OnComm事件,还可以检测并处理通信错误信息,从而采取相应的操作。(2)查询方式,在程序的每个串行口操作后,将不断检查CommEvent属性的值以查询事件和错误。本后台软件采取事件驱动方式,事件驱动方式相当于一般程序设计中的中断方式。
  2.2 串口实现
  在添加了MSComm控件后,采集工作之前还要对串口进行必要的初始化工作。实质上就是要在PC机与数据接收装置之间建立起一个共同遵守的协议,以使两者在接收或发送数据上保持协调一致。串口初始化部分代码如下:
  if(MSComm1-》PortOpen==true)MSComm1-》PortOpen=
  false;
  MSComm1-》CommPort=StrToInt(comno.Trim().SubString
  (comno.Length(),1)); //点击开始后才开启Timer1
  MSComm1-》RThreshold=60;
  //接收缓冲区每有1个字符时,
  就会触发一次OnComm事件
  MSComm1-》InputMode=1;
  //设置传入数据的格式,0表示文本形式
  MSComm1-》InBufferCount=0; //清除接收缓冲区
  MSComm1-》InBufferSize=32000;
  //设置MSComm1接收缓冲区为32 000 B
  MSComm1-》PortOpen=true
  把MSComm控件加入到窗体后,在主窗口系统设置菜单里加入串口设置菜单,在窗体中再加入Memo控件,Memo控件用来显示接收到的数据,在主程序加入代码:
  void __fastcall TFormMain::N1Click(TObject *Sender)
  {
  MSCcomm= new TFormScom(this);
  MSCcomm -》ShowModal();
  MSCcomm -》Free();
  }
  为了方便串口通信参数的选择,设置几个Combo Box控件,将常用串口参数值默认显示在控件中。串口参数默认值设置的具体代码如下:
  ComboBoxPort-》Text=ReadConfig(iniComFileName,“scom”,
  “port”,“Com1”);
  ComboBoxBaud-》Text=ReadConfig(iniComFileName,“scom”,
  “baud”,“9600”);
  ComboBoxDataBits-》Text=ReadConfig(iniComFileName,“
  scom”,“databits”,“8”);
  ComboBoxParity-》Text=ReadConfig(iniComFileName,“scom”,
  “parity”,“1”);
  ComboBoxStopBit-》Text=ReadConfig(iniComFileName,“scom”,
  “stopbit”,“None”);
  在使用MSComm控件开发抛弃式温盐深剖面测量数据采集系统时,采用事件驱动法处理通信问题,实现数据实时采集,即每当缓冲区有规定个数以上的新字符到达时或通信状态发生变化时,MSComm控件触发该事件并获取缓冲区的数据。主要是考虑MSComm控件在接收到数据事件发生时能及时响应并获取缓冲区中的数据,不需要一直让程序处于检测的状态下,而且可靠性高。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费