一、新建工程
打开LabWindows CVI软件,在桌面新建SerialDebug文件夹用来保存工程文件,在欢迎页点击New–>Project

或者在软件首页点击File–>New–>Project

将Project创建在新的Workspace中,设置完成后点击OK

新建一个用户GUI界面,点击File–>New–>User Interface

新建完成后如下图所示

二、配置GUI界面
1、点击新建的GUI界面任意区域,界面右侧出现对应编辑框
设置Constant Name为:PANEL
取消勾选Can Maximize,禁用窗口最大化
设置Title为:串口调试(By塔克Tark)
在主界面边缘可任意拉伸界面大小到合适尺寸
2、将当前界面保存在SerialDebug文件夹里,保存为SerialDebug.uir

3、将SerialDebug.uir界面添加到对应workspace下的工程里面
在对应工程位置选中后鼠标右键,添加已有文件

将SerialDebug.uir添加到工程后,再次选中右键工程,点击save保存工程,工程名称也命名为SerialDebug

4、在SerialDebug.uir界面上添加一些控件,在面板内任意位置鼠标右键,找到相应控件进行放置即可,放置后对控件属性进行设置
| 面板或控件类型 | Constant Name | Label | Callback Function |
|---|---|---|---|
| Panel | PANEL | 串口调试(By塔克Tark)(https://blog.csdn.net/Stark_?spm=1000.2115.3001.5343) | PanelMain |
| Ring | COMSELECT | 串口号 | |
| Ring | BAUDSELECT | 波特率 | |
| Ring | CHECKSELECT | 校验位 | |
| Ring | LONGSELECT | 数据位 | |
| Ring | STOPSELECT | 停止位 | |
| Command Button | OPEN_COM | 打开串口 | ComOpen |
| LED | LED | LED | LED |
| Command Button | CLOSE_COM | 打开串口 | ComClose |
| Text Box | RECEIVETEXT | 接收区 | |
| Text Box | SENDTEXT | 发送区 | |
| Timer | TIMER | Timer | Timer |
| Command Button | CLEARRECEIVE | 清空接收 | ClearTextBox |
| Command Button | SEND | 发送 | Send |
| Command Button | CLEARSEND | 清空发送 | ClearTextBox |
| Graph(Strip Chart) | WAVE_DISPLAY | 波形显示 |
编辑完成后如下图所示

除此之外,还需要修改某些控件的属性,修改步骤如下:
双击 COMSELECT 控件,编辑 Label/Value 属性,向控件添加项目的 Label分别为COM1、COM2、COM3、COM4、COM5、COM6,相应的 Value 值为 1、2、3、4、5、6,数据类型为整数。

编辑 BAUDSELECT 控件的 Label/Value 属性,向控件添加项目的 Label分别为 4800、9600、115200,相应的 Value 值为 4800、9600、112500,数据类型为整数。

编辑 CHECKSELECT 控件的 Label/Value 属性,向控件添加项目的 Label 分别为无校验、奇校验、偶校验,相应的 Value 值为 0、1、2,数据类型为整数。

编辑 LONGSELECT 控件的 Label/Value 属性,向控件添加项目的 Label分别为 7、8、9,相应的 Value 值为 7、8、9,数据类型为整数。
编辑 STOPSELECT 控件的 Label/Value 属性,向控件添加项目的 Label分别为 1、2,相应的 Value 值为 1、2,数据类型为整数。

编辑两个文本框的属性:Text Box Options…-Enter Key Causes Newline以允许在文本框中输入多行文本,同时将接收区文本框Control Settings中No Edit Text设置为勾选状态,禁止接收区文本的编辑。

编辑WAVE_DISPLAY控件Left Y-Axis…-Maximum为99,Size/Position -Graph Background Color为透明色


编辑TIMER控件Size/Position中Initially Hidden为勾选,使得实际运行时隐藏图标,设置Timer Interval为0.001,使得定时中断时间为1ms

完成以上设置后,效果如下

三、生成源码框架
保存文件 SerialDebug.uir。使用代码生成器生成源文件程序框架。

一路点击OK、YES

然后将源码文件新建到当前Workspace

对于单个控件修改后,也可单独进行代码生成

添加控件的回调函数,添加完毕后,所有代码如下所示:
#include <cvirte.h>
#include <userint.h>
#include "SerialDebug.h"
static int panelHandle;
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "SerialDebug.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK PanelMain (int panel, int


1078

被折叠的 条评论
为什么被折叠?



