版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于LabWindows/CVI 的串口调试助手(含参考代码)界面谓诚菲串口4.-町胳口面板或j討枝型Constant NameLabel匚alibacic FunctionPanelPANEL串口演示RingCOMSELECT甯诰择串口Ringbtlselect请迭择波特黍Rin flJYSELECT请选怪箭偶核蛤欖式RingLONG5ELECT诸遥择加据悅對RingSTOPSELECT摘选择偉止位埶Ccmrnand ButtonOPEN_COM亓开屋口CcmOpenCommand ButtonCLOGE.COM捷输口CemOoseText BoxSENDTEXTCommand Button
2、SENDSendCommand ButtonCLEAR5END胃空岌医框匚 learlextBoxText BoxRFCIVETEXTCommand BLittonRECIEVERecieveCommand ButtonCLEARRECIVE再空接收框CJearTextSojcCommand ButtonQUIT退出Quit遇出乏tfl串口除此之外,还需要修 改某些控件的属性,修改步骤如下:编辑COMSELECT控件的Label/Value属性,向控件添加 项目的Label分别为串口 1、串口 2,相应的 为1、2,数据类型为整数。Value 值编辑BTLSELEC控件的Label/Value
3、属性,向控件添加项 目的Label分别为1200、 2400、4800、9600、19200, 相应的 Value 值为 1200、2400、4800、9600、19200,数据类型为整数。 编 辑JYSELEC控件的Label/Value属性,向控件添加项 目的Label分别为奇校验、偶校验、无校验,相应的Value 值为 1、 2、 0, 数据类型为整数。编辑LONGSELEC控件的Label/Value属性,向控件添 加项目的Label分别为7、8、9,相应的Value值为7、 8、 9,数据 类型为整数。编辑STOPSELEC控件的Label/Value属性,向控件添加项目的Label
4、分别为1、2,相应的 Value值为1、2,数据类型为整数。编辑两个文本框的属 性:TextBoxOptions-Enter KeyCausesNewIine以允许在文本框中输入多行 文本。之后保存文件 com.uir。二、代码#include #include #include #include #include com.hstatic int panelHandle;int comSelect=0;int status;char info513;int CVIFUNCDimObject(int stat)SetCtrlAttribute(panelHandle,PANEL_COMSELEC
5、T,ATTR_DIMMED,stat); SetCtrlAttribute(panelHandle,PANEL_BTLSELECT,ATTR_DIMMED,stat); SetCtrlAttribute(panelHandle,PANEL_JYSELECT,ATTR_DIMMED,stat); SetCtrlAttribute(panelHandle,PANEL_LONGSELECT,ATTR_DIMMED,stat); SetCtrlAttribute(panelHandle,PANEL_STOPSELECT,ATTR_DIMMED,stat); SetCtrlAttribute(panel
6、Handle,PANEL_OPEN_COM,ATTR_DIMMED,stat); SetCtrlAttribute(panelHandle,PANEL_CLOSE_COM,ATTR_DIMMED,!stat); SetCtrlAttribute(panelHandle,PANEL_SEND,ATTR_DIMMED,!stat); SetCtrlAttribute(panelHandle,PANEL_CLEARSEND,ATTR_DIMMED,!stat); SetCtrlAttribute(panelHandle,PANEL_RECIEVE,ATTR_DIMMED,!stat); SetCtr
7、lAttribute(panelHandle,PANEL_CLEARRECIVE,ATTR_DIMMED,!stat); return 0;*/int main (int argc,char *argv) /* 主函 数if (InitCVIRTE(0, argv, 0) = 0)return -1;/* out of memory */if (panelHandle = LoadPanel (0, com.uir, PANEL) 0) return -1;DisplayPanel (panelHandle);RunUserInterface ();DiscardPanel (panelHan
8、dle);return 0;int CVICALLBACKQuit (int panel, int control, int event,/* 退void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT: if(comSelect) CloseCom(comSelect); comSelect=0; DimObject(0);QuitUserInterface (0); break;return 0;int CVICALLBACKClearTextBox (int panel, int
9、control, int event, /* */void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:if(control=PANEL_CLEARRECIVE)ResetTextBox(PANEL,PANEL_RECIVETEXT,”0);清空接收框 else、关闭串口 */清空文本框ResetTextBox(PANEL,PANEL_SENDTEXT,”0);清 空发送框return 0;int CVICALLBACKRecieve (int panel, int control,
10、 int event,/* 接收信息 功能函数*/void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:if(!comSelect) return -1;SetComTime(comSelect,2.0); / 设置通信超时时限。 status=ComRd(comSelect,info,GetInQLen(comSelect);if(status=0)MessagePopup(ERROR,send data failed!);break;/ 将接收信息写入文本框infostatus=
11、0; / 添加结束符SetCtrlVal(PANEL,PANEL_RECIVETEXT,info); SetActiveCtrl(PANEL,PANEL_RECIVETEXT);break;return 0;int CVICALLBACKSend (int panel, int control, int event, /* 发送信息功能函数 */void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:if(!comSelect) return -1;GetCtrlVal(PANEL,P
12、ANEL_SENDTEXT,info); / 获取发送文本信息 status=ComWrt(comSelect,info,strlen(info);/ 发 送 if(status!=strlen(info)MessagePopup(ERROR,send data failed!);return 0;int CVICALLBACKComOpen (int panel, int control, int event, /* 打开串口 */ void *callbackData, int eventData1, int eventData2)int comValue,btlValue,jhValue
13、,longValue,stopValue;switch (event)case EVENT_COMMIT:GetCtrlVal(PANEL,PANEL_COMSELECT,&comValue);选择串行口(串口的一些基本设置)GetCtrlVal(PANEL,PANEL_BTLSELECT,&btlValue);选择波特率 GetCtrlVal(PANEL,PANEL_JYSELECT,&jhValue)选 择奇偶校验 GetCtrlVal(PANEL,PANEL_LONGSELECT,&Io ngValue)选 择数据位 GetCtrlVal(PANEL,PANEL_STOPSELECT,&
14、 stopValue)选择停止位status=OpenComConfig(comValue,btlValue,jhValue,longValue,stopValue,512,512); if(status!=0)MessagePopup(ERROR,se nd data failed!);return 0;SetCTSMode(comValue,LWRS_HWHANDSHAKE_OFF); /禁止硬件握手 FlushInQ(comValue);/ 清空输入和输出缓冲区FlushOutQ(comValue); comSelect=comValue;DimObject(1); break;return 0;*/int CVICALLBACKComClose (int panel, int control, int event, /* 关闭串口 void *callbackData, int ev
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辽宁建筑安全员考试题库附答案
- 2025年度智慧城市建设规划设计合同
- 2025年度新型农用化肥市场推广与营销合同3篇
- 二零二五年度农产品批发市场管理合同9篇
- 2025版区块链技术应用合同含数字资产安全条款
- 2024年版LED广告屏租赁协议样本一
- 2024年06月广西桂林银行审计部社会招考(617)笔试历年参考题库附带答案详解
- 2024年餐饮企业财务审计与税务筹划合同协议3篇
- 2024年汽车维修工个人劳动协议示例文本一
- 2024年舞蹈培训学校教师劳动合同范本2篇
- 医院院长年终工作总结报告精编ppt
- 大连市小升初手册
- 《自然辩证法》课后习题答案自然辩证法课后题答案
- 造价咨询结算审核服务方案
- 中国人民财产保险股份有限公司机动车综合商业保险条款
- 燃气工程监理实施细则(通用版)
- E车E拍行车记录仪说明书 - 图文-
- 人才梯队-继任计划-建设方案(珍贵)
- 《健身气功》(选修)教学大纲
- 王家岩隧道工程地质勘察报告(总结)
- 《昆明的雨》优质课一等奖(课堂PPT)
评论
0/150
提交评论