ni采集卡的数字口,除了系统提供的task方式改变口线高低状态外,可不可以有其他方式改变?任务方式如下: 
#define  LEVEL_1  0xffff 
#define  LEVEL_0  0xff00 
 
void do_perline_fun(char chan[256], char line[256], int voltage) 
{ 
TaskHandle  taskHandle_perline=0; 
int32  written; 
 
  // DAQmx Configure Code 
  DAQmxCreateTask("",&taskHandle_perline); 
  DAQmxCreateDOChan(taskHandle_perline, chan, line, DAQmx_Val_ChanPerLine ); 
 
  // DAQmx Start Code 
  DAQmxStartTask(taskHandle_perline);      
 
  // DAQmx Write Code 
  DAQmxWriteDigitalU32(taskHandle_perline,1,1,10.0,DAQmx_Val_GroupByChannel, 
                       &voltage,&written,NULL);     
 
   // DAQmx Stop Code 
  DAQmxStopTask(taskHandle_perline); 
//  DAQmxClearTask(taskHandle_perline); 
 
} 
 
 
main() 
{ 
    char i; 
 
    while(1) 
    { 
         for(i=0;i<100;i++) 
         { 
              do_perline_fun( "Dev2/port1/line4", "line4", LEVEL_1); 
              do_perline_fun( "Dev2/port1/line4", "line4", LEVEL_0); 
    }  
} 
这种方式太耗时间我做了下测试要十几ms左右,有没有直接对口线操作的不需要任务 
 
 
谢谢 
 |