08-26-2009 02:52 PM
(No answers on the Counter/Timer h/w board, so I'm reposting my question here...)
I'm using NI-DAQmx within Visual Studio 2005 C++ under Windows XP.
I'm NOT using LabView.
I'm making an executable with elevated process priority and wish to have a real-time thread wake up at precision time intervals.
Presently the time interval is 0.1 second (10 Hz).
I'd like the wakeup to have low jitter, a few dozen microseconds or better.
Presently, I'm using a kludge from previous work, generating a pulse with a 0.1 sec period on one counter and wiring it back to another counter to measure it.
I use the DAQmxReadCounterU32() function with a 2-second timeout value to pause and then reactivate my thread after the measurement is complete.
This "works" but the jitter is terrible: up to as much as 15 milliseconds for a freshly booted PC and up to 2 milliseconds after I enable MultiMedia timer functionality.
What I want is a DAQmx function that just returns control to my application immediately following a timer interrupt with optional output wiring of that timer pulse.
So how do I do this?
08-27-2009 11:08 AM