77范文网 - 专业文章范例文档资料分享平台

多功能数据采集控制板的设计与实现 - 图文(8)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

图5-5 单通道数据接收和显示VI结构图

图5-6接收数据存为文本的VI图

图5-7制作完成的串口控制界面

5.2 VC++6.0界面程序结构设计

5.2.1 VC++6.0软件串口编程介绍

VC++ 6.0是微软公司于1998年推出的一种开发环境,以其强大的功能,友好的界面,32位面向对象的程序设计及Active X的灵活性而受广大软件开发者的青睐,被广泛应用于各个领域。应用VC 开发串行通信目前通常有如下几种方法:一是利用Windows API通信函数;二是利用VC的标准通信函数_inp、_inpw、_inpd、_outp、_outpw、_outpd等直接对串口进行操作;三是使用Microsoft Visual C 的通信控件(MSComm)。以上几种方法中第一种使用面较广,但由于比较复杂,专业化程度较高,使用较困难;第二种方法需要了解硬件电路结构原理;第三种方法比较方便,好用,只需要对串口进行简单配置,利用事件驱动的编程原理进行各种事件的响应处理,再根据下位机固件的需要编写通信协议即可。

5.2.2 VC++6.0电机参数显示界面

MSComm控件是微软开发的专用通信控件,封装了串口的所有功能,使用很方便,但在实际应用中要小心对其属性进行配置。下面就结合“电机参数显示界面”说明该类应用方法和界面程序结构设计思路。

图5-8程序设计界面

可以看到整个界面是一个MFC对话框,界面上嵌入了按钮,显示框,滑动条和一些修饰控件,该界面配备的功能概述如下: 1. 串口选择和配置功能 2. 指令按钮发送和定时发送 3. 电压,电流,转速,力矩数据显示 4. 十进制十六进制切换显示功能 5. 电机启动和停止指令发送 6. 滑动条0-255数据发送 7. 参数保存为文本功能

界面采用VC软件的MFC编程方法,首先制作了基本对话框,然后拖拽控件到对话框,最后针对不同的事件对不同的类进行操作,由于程序代码篇幅比较大,现在只给出最重要的串口接收事件函数解析,具体代码实现如下:

void CSCommTestDlg::OnComm() // 串口事件处理函数 {

// TODO: Add your control notification handler code here

//写入数据到记事本

static UINT VP=0; static UINT VI=0; static UINT VS=0; UINT ZHUANJU=0; CString TEMP;

static BYTE count3=0; VARIANT variant_inp; COleSafeArray safearray_inp;// 读取 发送的数据位于 安全数组的 一个指针的指向 内存中 LONG len,k; BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integer that is not signed. CString strtemp; if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符 { variant_inp=m_ctrlComm.GetInput(); //读缓冲区 safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray 型变量 len=safearray_inp.GetOneDimSize(); //得到有效数据长度 for(k=0;k

if(!switch_display) //FALSE 正常显示 { if(m_ctrlHexDisplay.GetCheck())//注意此处的复选开关控件变量的使用 选用哪种显示方式 strtemp.Format(\\//02X将字符以十六进制方式送入临时变量strtemp存放,注意这里加入一个空隔 单片机发送十六进制数据 else strtemp.Format(\将字符送入 //m_strRXData+=strtemp; //加入接收编辑框对应字符串

m_strRXData=strtemp+m_strRXData;//新接收的数据为第一个 m_cstring_volut=\正常显示的时候3参数显示为空

m_cstring_speed=\ m_cstring_current=\ }

else //3参数显示 { ++count3; if(count3==1) { VP=bt; strtemp.Format(\ // m_cstring_volut+=strtemp; //单片机发送一帧的第一个参数为电压 m_cstring_volut=strtemp+m_cstring_volut; }

if(count3==2) { VI=bt; strtemp.Format(\ // m_cstring_volut+=strtemp; //单片机发送一帧的第一个参数为电压 m_cstring_current=strtemp+m_cstring_current; }

if(count3==3) {

VS=bt; strtemp.Format(\ // m_cstring_volut+=strtemp; //单片机发送一帧的第一个参数为电压 m_cstring_speed=strtemp+m_cstring_speed;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库多功能数据采集控制板的设计与实现 - 图文(8)在线全文阅读。

多功能数据采集控制板的设计与实现 - 图文(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/528588.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: