⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample2_2.c

📁 本文件是ni公司的labwindows/cvi软件的部分例子和源程序
💻 C
字号:
#include <userint.h>#include <analysis.h>#include <ansi_c.h>#include "sample2_2.h"int handle;		 //panel handlevoid GenerateWave (int ,double[],double); int trace_color=0/*black*/, shape=0/*sin*/;  //color ,shapdouble datapoints[100];  //wave data pointdouble wavepeak=60; 		 //wave peakvoid DisplayChart(void);      int main(int argc, char *argv[]){    if (InitCVIRTE (0, argv, 0) == 0)   /* Initialize CVI libraries */        return (-1);    /* out of memory */    //Load main panel        if ((handle = LoadPanel (0, "sample2_2.uir", PANEL)) < 0)        return -1;    //Display main panel    DisplayPanel (handle);    //init shape ,peak,color	//set wave shape 	SetCtrlVal (handle, PANEL_WFM, shape);                                     //set wave peak                                                         	SetCtrlVal (handle, PANEL_NUMERICSLIDE, wavepeak);             		    //set wave color                                                            SetCtrlVal (handle, PANEL_COLOR, trace_color);                                 //go into the message loop,waiting user interface event    RunUserInterface ();            return 0;       }//call back function of  get wave buttonint CVICALLBACK Display(int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    if (event == EVENT_COMMIT)    		DisplayChart();           return(0);}	 //call back function of quit buttonint CVICALLBACK Quit(int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    switch(event)    {    case EVENT_COMMIT:        QuitUserInterface(0);    break;    }    return(0);}//call back function of peak numeric controlint CVICALLBACK NumericPeak (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:			    //get wave peak                                                         			GetCtrlVal (handle, PANEL_NUMERICSLIDE, &wavepeak);             					DisplayChart(); 			break;		}	return 0;}//call back function of color selection controlint CVICALLBACK Getcolor (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:		    //get wave color                                                        		    GetCtrlVal (handle, PANEL_COLOR, &trace_color);                         			DisplayChart();			break;		}	return 0;}//call back of  wave shap selection  ring sliderint CVICALLBACK GetWFM (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:			//get wave shape 			GetCtrlVal (handle, PANEL_WFM, &shape); 			DisplayChart()   ;			break;		}	return 0;}//call back function of clear waveint CVICALLBACK ClearWave (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:  			 //clear old wave    		DeleteGraphPlot (handle, PANEL_GRAPH, -1, 1);      		break;		}	return 0;}void DisplayChart(){switch (shape) {                                                		                case 0 :                                                    		                    GenerateWave (1,datapoints,wavepeak);                   		                    break;                                                  		                case 1 :                                                    		                    GenerateWave (2,datapoints,wavepeak);                   		                    break;                                                  		                case 2 :                                                    		                    GenerateWave (3,datapoints,wavepeak);                   		                    break;                                                  		                case 3 :                                                    		                    GenerateWave (4,datapoints,wavepeak);                   		                    break;                                                  		                }                                                           		    //clear old wave                                                		    DeleteGraphPlot (handle, PANEL_GRAPH, -1, 1);                   		            //plot new wave                                                 		    PlotY (handle, PANEL_GRAPH, datapoints, 100, VAL_DOUBLE,        		               VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, trace_color);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -