版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑龙江省黑河市某学校语文高职单招阅读专项练习测试试题(含答案)
- 《预防医学》试题库与答案
- 编织花束课程设计
- 深度强化学习游戏AI(如Atari)教程课程设计
- 数据可视化数据可视化趋势课程设计
- 基于同态加密的隐私计算原型设计方法课程设计
- 保险专业课程设计
- 采矿学课程设计教学视频
- SolidWorks减速器分析技巧课程设计
- 基于Spark的实时日志分析平台优化与建议课程设计
- 方剂学方歌(“十三五”第十版教材)(2021年新版)
- 民航安全生产党课课件
- 餐饮店面卫生标准
- 物流行业GPS监控人员岗位职责
- 《临沂市住宅工程质量常见问题防治手册》2020修订版
- 粉尘(铝粉)爆炸预防措施安全培训
- 2025年威海桃威铁路有限公司招聘笔试参考题库含答案解析
- 中药饮片法律法规培训
- CJJT155-2011 建筑给水复合管道工程技术规程
- 城管协管员笔试考题试题(含答案)大全五篇
- 环卫清扫保洁、垃圾清运及绿化服务投标方案(技术标 )
评论
0/150
提交评论