05-30-2007 10:09 AM
DAQmxErrChk (DAQmxCreateTask("DataBlast32",&taskHandle));
/* Instantiate the DO lines */DAQmxErrChk (DAQmxCreateDOChan(taskHandle,"Dev1/port0/line0","data",DAQmx_Val_ChanPerLine));
DAQmxErrChk (DAQmxCreateDOChan(taskHandle,"Dev1/port0/line1","fs",DAQmx_Val_ChanPerLine));
/*********************************************/ // DAQmx Configure Clock /*********************************************/ //DAQmx_Val_ContSamps //DAQmx_Val_FiniteSampsDAQmxCfgSampClkTiming(taskHandle,NULL,40e6,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,2000);
/*********************************************/
// DAQmx Configure Output Buffer /*********************************************/DAQmxCfgOutputBuffer (taskHandle,1000);
/*********************************************/ // DAQmx Configure Trigger /*********************************************/DAQmxErrChk( DAQmxCfgDigEdgeStartTrig(taskHandle, "PFI0", DAQmx_Val_Rising));
DAQmxErrChk(DAQmxExportSignal(taskHandle, DAQmx_Val_SampleClock, "PFI4"));/*********************************************/ // DAQmx Write Code /*********************************************/ //DAQmx_Val_GroupByScanNumber - interleaved
//DAQmx_Val_GroupByChannel - non-interleaved
DAQmxErrChk (DAQmxTaskControl(taskHandle,DAQmx_Val_Task_Commit));
DAQmxErrChk(DAQmxWriteDigitalLines(taskHandle, 16, 1, -1, DAQmx_Val_GroupByChannel,data,&wsample1,NULL));printf("bytes written sample1 %d\r\n",wsample1);
check_done:
DAQmxErrChk(DAQmxIsTaskDone(taskHandle,tdone));
if (*tdone)printf("Task is done...!\r\n");
else //wait(10); goto check_done;
Error:
if( DAQmxFailed(error) )DAQmxGetExtendedErrorInfo(errBuff,2048);
if( taskHandle!=0 ) { /*********************************************/ // DAQmx Stop Code /*********************************************/DAQmxStopTask(taskHandle);
DAQmxClearTask(taskHandle);
}
if( DAQmxFailed(error) )printf("DAQmx Error: %s\n",errBuff);
printf("End of program, press Enter key to quit\n");
getchar();
return 0;05-31-2007 06:07 PM