当前位置:首页 >> 信息与通信 >>

哈尔滨工业大学CVI实验实验三(选做题二)


选题二: 选题二:
1.任务
编写一个自发自收的 RS-232 串口通讯程序(电缆连接 2-3) 。

2.实验步骤
步骤 1:根据要实现的功能,设计如图 4-1 所示的用户界面,其具体设置如表 4-1 所示。

图 4-1 最终用户界面 表 4-1 主要控件的基本属性列表 控件类型 面板 Panel Cons

tant Name PANEL Callback Function Lable COMMANDBUTTON Callback Function Lable STRING 文本型控件 Text TEXTBOX 定时器控件 Timer Callback Function Lable Callback Function Lable TIMER Callback Function Lable recieved message ReceivedTimerCB Timer send message QuitCallback __Quit SendMessageCB __Send 属性设置

QUITBUTTON 命令按钮 Command Button

步骤 2:生成代码框架。选择 Code→Generate→All Code, 生成代码框架。 步骤 3:打开串行口 1 并进行配置。此部分代码添加在主函数中,如下所示。 int main (int argc, char *argv[]) { if (InitCVIRTE (0, argv, 0) == 0) return -1; /* out of memory */ if ((panelHandle = LoadPanel (0, "lesson7.uir", PANEL)) < 0) return -1; DisplayPanel (panelHandle); OpenComConfig (1, "", 14400, 0, 7, 1, 512, 512);/*打开串行口 1 并进行配置*/ /*为串行口 1 设置一个回调函数,当串行口 1 收到待检测字符时就调用回调函数 ReceivedCallback 给出提示。*/ InstallComCallback (1, LWRS_RXFLAG, 0, '\0', ReceivedCallback, 0); RunUserInterface (); DiscardPanel (panelHandle); return 0; } 在上述代码中函数 OpenComConfig 和 InstallComCallback 的参数设置见图 4-2,4-3。两 函数的调用路径分别为:Library→RS-232 Library→Open/Close→Open COM and Configure, Library→RS-232 Library→Callbacks→Install COM Callback。

图 4-2 OpenComConfig 函数面板

图 4-3 InstallComCallback 函数面板 函数 ReceivedCallback 实现数据的接收,其代码如下: /*注意此函数必须在 main 函数之前声明*/ void CVICALLBACK ReceivedCallback (int portNo, int eventMask, void *callbackData) { char string[100]; int i; i = GetInQLen (1);/*获得输入队列中数据的长度*/ ComRd (1, string, i);/*读取输入队列中的数据*/ InsertTextBoxLine (panelHandle, PANEL_TEXTBOX, -1, string);/*在文本框的最后一行插 入数据*/ } 上述代码中所用到的函数参数设置和调用路径如下: (1) 函数 GetInQLen,获得输入队列中数据的长度,其调用路径为:Library→RS-232 Library→Status→Get Input Queue Length。 (2) 函数 ComRd,读取输入队列中的数据,其调用路径为:Library→RS-232 Library→ Input/Output→Read Buffer,其参数设置见图 4-4。 (3) 函 数 InsertTextBoxLine , 插 入 数 据 , 其 调 用 路 径 为 : Library→Uer Interface Library→Controls/Graphs/Strip Charts….→Text Boxes→Insert Text Box Line,其参数 设置见图 4-5。

图 4-4 ComRd 函数面板

图 4-5 InsertTextBoxLine 函数面板

步骤 4:利用串行口发送数据。在本实验中我们通过回调函数 SendMessageCB 实现数 据的发送,其代码如下: /*发送信息 SendMessageCB 回调函数*/ int CVICALLBACK SendMessageCB (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { int i; char string[100]; switch (event) { case EVENT_COMMIT: GetCtrlVal (panelHandle, PANEL_STRING, string);/*获得发送信息*/ i = StringLength (string);/*获得发送信息长度*/ ComWrt (1, string, i+1);/*把信息写到输出队列*/ break; } return 0; } 上述代码中所用到的函数参数设置和调用路径如下: (1) 函数 StringLength,其调用路径为:Library→Formating and I/O Library→String Manipulation→Get String Length。 (2) 函数 ComWrt, 其调用路径为; Library→RS-232 Library→Input/Output→Write Buffer, 其参数设置见图 4-6。

图 4-6 ComWrt 函数面板 步骤 5:保存并运行程序。


相关文章:
哈尔滨工业大学CVI实验实验二
哈尔滨工业大学CVI实验实验二_信息与通信_工程科技_专业资料。文档为哈工大制作的...(POINTS, ample, freq/sampleRate, &phase, waveData); break; case 3: ...
哈尔滨工业大学CVI实验实验四
哈尔滨工业大学CVI实验实验四_信息与通信_工程科技_专业资料。文档为哈工大制作的...2.实验步骤步骤 1:设计程序界面,生成程序框架。 根据实验要求, 在面板上放置一...
哈尔滨工业大学CVI实验实验七
哈尔滨工业大学CVI实验实验七_信息与通信_工程科技_专业资料。文档为哈工大制作的...int eventData2) { int i; switch (event) { case EVENT_COMMIT: GetCtrlVal...
虚拟仪器实验指导二
47页 2财富值 哈尔滨工业大学CVI实验实验... 11页 免费 DCS教程 18页 免费 LabVIEW虚拟仪器实验报告 8页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功...
哈尔滨工业大学(威海)微波技术实验报告
哈尔滨工业大学(威海)微波技术实验报告_信息与通信_工程科技_专业资料。哈尔滨工业...3.在 2011 年 6 月 1 日前提交报告和演示 二.实验步骤步骤为按照实验 word...
哈工大数据库实验三
哈工大数据库实验三_计算机软件及应用_IT/计算机_专业资料。哈尔滨工业大学机电...二、实验内容与要求 1. 在 VBA 代码中执行 SQL 更新语句。 在 VBA 代码中...
哈尔滨工业大学实验室管理制度
哈尔滨工业大学教务处 二○○五年十月修订 哈尔滨工业大学实验室工作人员岗位职责发布时间: 2013-7-10 13:13:09 被阅览数: 3714 次 来源: 哈尔滨工业大学教务处...
哈尔滨工业大学大学生创新性实验计划实施办法(修订)
哈尔滨工业大学大学生创新性实验计划实施办法(修订)_工学_高等教育_教育专区。科技...3 第四章 立项评审第二十一条 二十一条 大学生创新性实验计划立项评审分学校...
哈工大威海计算机网络实验报告3
优秀 良好 及格 不及格 一、TCP 实验三次握手包 第一次握手截图 第二次握手截图 2 哈尔滨工业大学(威海) 计算机网络与通信实验报告(三) 第三次握手截图 问题...
关于针对哈尔滨工业大学大学生创新性实验计划项目
(二)项目申请书 1、项目经学校公示执行后,项目负责人根据专家提出的项目修改意见和批 准经费额度,修改《哈尔滨工业大学大学生创新性实验计划项目申请书》(以下 简称...
更多相关标签: