求大神帮助一下虚拟示波器的水平灵敏度按钮程序
int CVICALLBACK shuipingshiji (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{
int i;
long error;
long id=-1,*idnum=&id;
long demo=0,numChannels=4,disableCal=0;
long transferMode=0;
long channels={0,1,2,3};
long gains={0,0,0,0};
float voltages={0};
long stateIOout={0};
long ov,*overVoltage=&ov;
long stateIOin=0 ;
long updateIO=0 ;
long ledOn=1;
long triggerIO=0;
long triggerState=0;
int32 samplesread=100;
float64 readarray;
switch (event)
{
case EVENT_COMMIT:
GetCtrlVal (panelHandle, PANEL_SHUIPINGSHIJI, &spsj);
switch(spsj)
{
case 0:sr=256;numScans=1024;break;
case 1:sr=512;numScans=1024;break;
case 2:sr=1024;numScans=1024;break;
case 3:sr=1024;numScans=512;break;
case 4:sr=1024;numScans=256;break;
case 5:sr=1020;numScans=102;break;
case 6:sr=1000;numScans=50;break;
case 7:sr=1000;numScans=25;break;
case 8:sr=1000;numScans=10;break;
case 9:sr=1000;numScans=5;break;
}
DAQmxReadAnalogF64(taskHandle, 1000, 10.0, DAQmx_Val_GroupByScanNumber,readarray, 1000, &samplesread, NULL);
//此daq一直报错,
for(i=0;i<numScans;i++) wave1=voltages;
for(i=0;i<numScans;i++) wave2=voltages;
for(i=0;i<numScans;i++) wave3=voltages;
for(i=0;i<numScans;i++) wave4=voltages;
for(i=0;i<numScans;i++)
{
wave11=wave1;
wave22=wave2;
wave33=wave3;
wave44=wave4;
}
zt();
break;
}
return 0;
}
本人的程序是根据往年学长的程序改变,我们所选硬件不同,再修改过程中对daq的应用不甚了解。在触发,灵敏度旋钮的编程出现问题。望解答
页:
[1]