因为写的上一篇NI数据采集卡的程序有人留言说想要实现多路数据的同时采集,我没有及时回复,深感抱歉,在此写一篇关于NI数据采集卡的多路数据同时采集的程序
第一个程序实现的功能:六路数据同时采集,采集有限个数据,并且保存到txt文档中。采用的是参考单端接地的方式,参考单端接地指的是我们测量的每一路的值是该路相对AI GND的电压值。对参考单端接地不了解的话可以看NI-DAQmx C Reference help
不多说,上程序。
#include <stdio.h>
#include "NIDAQmx.h"
#pragma comment(lib,"NIDAQmx.lib")
#include<iostream>
using namespace std;
#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else
int main(void)
{
int32 error=0;
int32 per_num;
float64 data[6000];
TaskHandle taskHandle=0;
char errBuff[2048]={'\0'};
DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
DAQmxErrChk (DAQmxCreateAIVoltageChan(taskHandle,"Dev2/ai0:5","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle,&