potatotatop 发表于 2018-4-28 16:03:05

求大神帮助一下虚拟示波器的水平灵敏度按钮程序

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;
}

potatotatop 发表于 2018-4-28 16:06:01

本人的程序是根据往年学长的程序改变,我们所选硬件不同,再修改过程中对daq的应用不甚了解。在触发,灵敏度旋钮的编程出现问题。望解答
页: [1]
查看完整版本: 求大神帮助一下虚拟示波器的水平灵敏度按钮程序