LabWindowsCVI库函数的使用_第1页
LabWindowsCVI库函数的使用_第2页
LabWindowsCVI库函数的使用_第3页
LabWindowsCVI库函数的使用_第4页
LabWindowsCVI库函数的使用_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LabWindows/CVI库函数的使用1、 实验目的1、 进一步熟悉CVI的集成开发环境2、 进一步学习仪器面板中控键的使用3、 学习CVI库函数使用方法4、 学习用CVI库函数进行频谱分析的步骤2、 实验内容1、 编写一个波形显示程序,要求根据输入的幅值和周期数显示正弦波;根据输入的幅值和占空比显示方波。2、 制作一个简单仪器面板:要求有两个图形控件,用来显示图形;四个数字控件,分别用来输入正弦波幅值、周期以及方波的幅值、占空比;五个命令控件,分别用来启动程序产生正弦波、产生方波,清楚屏幕上显示的图像和退出程序。3、 利用CVI的代码生成工具生成你制作的一起面板的程序框架。4、 在用户程序

2、中添加相应程序,运行后观察程序执行的结果。3、 程序源代码#include #include #include #include guweiming.hstatic int panelHandle; double a,b,c,d;int main (int argc, char *argv)if (InitCVIRTE (0, argv, 0) = 0)return -1;/* out of memory */if (panelHandle = LoadPanel (0, guweiming, PANEL) 0)return -1;DisplayPanel (panelHandle);RunU

3、serInterface ();DiscardPanel (panelHandle);return 0;int CVICALLBACK QINGPINGCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT: DeleteGraphPlot (panelHandle, PANEL_GRAPH_2, -1, VAL_IMMEDIATE_DRAW);break;return 0;int CVICALLB

4、ACK FANGBOCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2) double wave512 ;double phase=120,*p;p=&phase;switch (event) case EVENT_COMMIT:SquareWave (512, c, 7.8125e-3, p, 50.0, wave);PlotWaveform (panelHandle, PANEL_GRAPH, wave, 512, VAL_DOUBLE, 1.0, 0.

5、0, 0.0, d, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);break;return 0;int CVICALLBACK QINGPING2Callback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT: DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW

6、);break;return 0;int CVICALLBACK TUICHUCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT:QuitUserInterface (0);break;return 0;int CVICALLBACK FTCallback (int panel, int control, int event,void *callbackData, int eventData1,

7、 int eventData2)switch (event)case EVENT_COMMIT: GetCtrlVal (panelHandle, PANEL_FT, &a);break;return 0;int CVICALLBACK ZQCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT: GetCtrlVal (panelHandle, PANEL_ZQ, &b);break;return

8、 0;int CVICALLBACK FZCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_COMMIT: GetCtrlVal (panelHandle, PANEL_FZ, &c);break;return 0;int CVICALLBACK ZKBCallback (int panel, int control, int event,void *callbackData, int eventData1

9、, int eventData2)switch (event)case EVENT_COMMIT: GetCtrlVal (panelHandle, PANEL_ZKB, &d);break;return 0;int CVICALLBACK ZHENGXIANBOCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2) double Waves512 ; switch (event)case EVENT_COMMIT:SinePattern (512, a, 0

10、.0, b, Waves); PlotWaveform (panelHandle, PANEL_GRAPH_2, Waves, 512, VAL_DOUBLE, 1.0, 0.0, 0.0, 1.0, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);break;return 0;四、思考题 1简述 Panel Handle 和 Control ID 参数的作用; 答:Panel Handle 这一参数由 LoadPanel 库函数设置,存入的是已存储的面板文件这一 对象。Control ID 对应面板文件上的各个控件,由 PANE

11、L_xxx 表示,PANEL 为面板名,xxx 为控件对应的常量名称。 2简述 DeleteGraphPlot 函数的调用和设置过程; 答: 选择 LibraryUser InterfaceControls/Graphs/Strip ChartsGraphs and Strip ChartsGraph Plotting and DeletingDelete Graph Plot,调用 DeleteGraphPlot 函数。 设置 DeleteGraphPlot 函数:Panel Handle 栏输入 panelHandle,Control ID 栏输入 PANEL_GRAPH,Plot Han

12、dle 栏输入默认值-1。 3简述 GetCtrlVal 函数的调用和设置过程; 答 : 选 择 Library User Interface Controls/Graphs/Strip Charts General FunctionsGet Control Value,调用 GetCtrlVal 函数。 设置 GetCtrlVal 函数: Panel Handle 栏输入 panelHandle, Control ID 栏输入 PANEL_NUM 或者 PANEL_AMP 即对应的数字控件的常量名称,Value 栏输入对应赋值的指针的调用& 或 &num。 4简述 SquareWave 函数的调用和设置过程; 答:选择 LibraryAdvanced Analysis LibrarySignal GenerationSquare Wave, 调用 SquareWave 函数。 设置 Squ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论