- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LabWindows CVI 2009 电压表设计
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…
文档评论(0)