西安交大现测实验现测实验1由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“西安交通大学数学实验”。
#include #include #include #include “TEST1.h” static int32 read;static TaskHandle taskHandlee;
static int panelHandle;
int main(int argc, char *argv[]){ double v;if(InitCVIRTE(0, argv, 0)== 0)
return-1;/* out of memory */ if((panelHandle = LoadPanel(0, “TEST1.uir”, PANEL))
return-1;DisplayPanel(panelHandle);
RunUserInterface();DiscardPanel(panelHandle);return 0;}
int CVICALLBACK Start(int panel, int control, int event,void *callbackData, int eventData1, int eventData2){ double freq;float64 wave[10000];int sumpo;int i;double f;int k;int signpo[10000];//float64 wave[1000];switch(event){
case EVENT_COMMIT:
GetCtrlVal(panelHandle, PANEL_decide, &freq);
DAQmxCreateTask(“”, &taskHandlee);
DAQmxCreateAIVoltageChan(taskHandlee, “Dev1/ai0”, “”, DAQmx_Val_RSE,-5.0, 5.0,DAQmx_Val_Volts, “”);
DAQmxCfgSampClkTiming(taskHandlee, “”, freq, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, 1000);
DAQmxStartTask(taskHandlee);
DAQmxReadAnalogF64(taskHandlee, DAQmx_Val_Auto, 10.0, DAQmx_Val_GroupByScanNumber, wave,1000, &read, 0);
DeleteGraphPlot(panelHandle, PANEL_GRAPH,-1, VAL_IMMEDIATE_DRAW);
PlotY(panelHandle, PANEL_GRAPH, wave, 100, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE,VAL_SOLID, 1, VAL_RED);
k = 0;for(i=1;i
signpo[k]=i;k++;
if(k>1)break;} }
sumpo = signpo[1]-signpo[0];
f= freq/sumpo;
SetCtrlVal(panelHandle, PANEL_show, f);
DAQmxStopTask(taskHandlee);
DAQmxClearTask(taskHandlee);
break;} return 0;}
int CVICALLBACK Close(int panel, int control, int event,void *callbackData, int eventData1, int eventData2){ //askHandle taskHandle;switch(event){
case EVENT_COMMIT:
QuitUserInterface(0);
break;} return 0;}