Hi Jonathan,
I'll need some time and trials to understand you answer about the buffered counting.
I meanwhile succeed to get a reasonable result with the DAQmxCreateCIFreqChan function.
Some code extract is below.
for (i = 0; i < 5; i++)
{
taskcreat = DAQmxCreateTask ("", taskHandle+i);
error = DAQmxCreateCIFreqChan (taskHandle[i], CtrStr[i], "", 5000000.0, 20000000.0, DAQmx_Val_Hz, DAQmx_Val_Rising, DAQmx_Val_HighFreq2Ctr , 1.0, 1000, NULL);
}
.
.
.
.
for (i = 0; i < 5; i++)
{
DAQmxStartTask(taskHandle[i]);
statread = DAQmxReadCounterScalarU32(taskHandle[i],1.0 ,data+i,NULL);
DAQmxGetErrorString (statread, errormessage, 560);
DAQmxStopTask(taskHandle[i]);
}
When I tried to measure 5 channels at a time, I noticed that some channels (2 & 4) produce an error code but I can read those in a second run seperatly. That's acceptable for my purpose at the moment but eventually I want to see whether I can read all 8 channels simultanously. I guess this is then when your proposal of the buffered counting comes in, right? Thanks.
Dirk