hello
I can't find in NI-DAQ™mx C Reference Help any information how use double-buffered DAQ operations.
I would like to set 128 times signal from -10V to +10V with resolution=0,3mV for Analog Output channel and
I would like to measure 128 times signal from -10V to +10V with resolution=156mV in Analog Imput channel.
Data from Analog Imput chanel shold be set in BUFOR each times (1,2,3...128)
How I can do this using function from NI-DAQ™mx C Reference Help ??? for M Series NI PCI 6259 CARD
I wrote this but it doesn't work?
X=128;
pTabDataAO = new double[65536];
pTabDataAI = new double[X*X];
//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO//AO
DAQmxCreateTask ("",&RampaAoTaskHandle);
DAQmxCreateAOVoltageChan(RampaAoTaskHandle,"Dev1/ao0","",-10.0f,10.0f,DAQmx_Val_Volts,NULL);
DAQmxCfgSampClkTiming(RampaAoTaskHandle,"OnboardClock",float(pow(2,16)),DAQmx_Val_Falling,DAQmx_Val_ContSamps,65536);
int32 written;
DAQmxWriteAnalogF64(RampaAoTaskHandle,65536,0,-1,DAQmx_Val_GroupByScanNumber,pTabDataAO,&written,NULL);
//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai//Ai
DAQmxCreateTask ("",&RampaAiTaskHandle);
DAQmxCreateAIVoltageChan(RampaAiTaskHandle,"Dev1/ai0","",DAQmx_Val_RSE,-10.0f,10.0f,DAQmx_Val_Volts,NULL);
DAQmxCfgSampClkTiming(RampaAiTaskHandle,"OnboardClock",float(pow(2,7)),DAQmx_Val_Falling,DAQmx_Val_ContSamps,X);
DAQmxStartTask(RampaAoTaskHandle);
DAQmxStartTask(RampaAiTaskHandle);
DAQmxCfgDigEdgeStartTrig(RampaAoTaskHandle,"ai/StartTrigger",DAQmx_Val_Falling);
DAQmxReadAnalogF64(RampaAiTaskHandle,X,-1.0,DAQmx_Val_GroupByScanNumber,pTabDataAI,X,&ifread,NULL);