LabWindows CVI 2009 电压表设计.doc
文本预览下载声明
LabWindows/CVI 2009 [Lancelod]
先留一个LW/CVI 2009下载的地址,有兴趣玩的人就下来玩玩吧,英文版的【高中英语无压力】,破解下一个注册机【几M,很小,无毒】,教程百度很多。
/evaluation/cvi/pc/Full/NILWCVI2009SP1.exe
直接复制到迅雷下载,不要点进去。
开始做电压表吧各位:
前面都和P10写的一样,唯一要提醒的是修改的是Panel Title,即下图中第三行,千万别改第一行的Constant name.
接下来需要注意的第二点来了。
按照P11建立完【退出】并且设置好Callback function 为【QUIT】以后,注意退出在倒数第二行,如下图:
重复P11最上面3行,建立如图的【测量】按钮:
测量的属性如下,主要修改Label 和Callback function,注意一下Callback function的名字是GenerateWave【这个很重要,不要打错】:
现在你可以按照P11 第四行的Code……的指南生成代码了,注意保存的目录最好不要有中文。【有会报错,不过目测无碍】
下面进行到修改Volt.c,这个时候这本书就在胡扯了,第一次玩这个的人根本看不懂他在说什么,我们不多说,直接
看图:
书上的Quitllser Interface(0) 打错了,是QuitUserInterface(0); 别忘了最后的分号,罗嗦一句,这个函数的作用是退出当前窗口。
接下来你会发现,紧接着这个函数下面还有一个函数:
这个函数的名字就是我们刚才的GenerateWave,还记得吧?
函数体按照我下面的内容打就可:
int CVICALLBACK GenerateWave (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
double noise[20] = {1.0,1.0,1.0,1.0,1.0,
1.0,1.0,1.0,1.0,1.0,
1.0,1.0,1.0,1.0,1.0,
1.0,1.0,1.0,1.0,1.0};
switch (event)
{
case EVENT_COMMIT: //点击测量的动作
{
WhiteNoise (20, 10.0, -1, noise); // 产生白噪声
SetCtrlVal(panel,PANEL_NUMERICMETER,noise[2]); //设置表值
break;
}
}
return 0;
}
解释一下:
noise[20]这个数组是用来存储WhiteNoise()产生的随机噪声的。
至于初始化的值就随你了,我是随便打的。【不知道更改有没有作用,求指教】
WhiteNoise()是系统自带的函数,可以产生高斯白噪声【你懂的】。
SetCtrlVal()这个函数的第一个参数是设定修改的主窗口的句柄【句柄是什么感兴趣的话可以百度】,这里可以看出来,直接使用了main传递给GenerateWave函数的参数panel【参数列表里的】,即我们的主窗口【代号panel】;第二个参数在 LW/CVI 2009里,我使用P11的PanelMeasure,发现无效,参考了一下网上的代码,发现PANEL_NUMERICMETER才是正解【LW/CVI 6.0未实验,同样求指教】,总而言之,这个参数是设定修改的子元件,这里是我们的电压表:
前缀PANEL_是注明它的位置,后面的NXX是它的名字,很容易懂吧?
第三个参数不说了,是噪声值。
这样LW/CVI 2009的第三个实验就做好了。
你可以在保存所有文件后,点击左上角的绿三角:
就能看到程序运行了。
To be continued…
显示全部