Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

Generating precision software wakeup intervals using PCI-6602?

(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? 

0 Kudos
Message 1 of 2
(6,061 Views)
Hope fully my post on the other thread was helpful, if not, let me know. Thanks!
0 Kudos
Message 2 of 2
(6,047 Views)