We're using a USB 6008 with DAQmx 8.0 in a .NET 1.1 app on WinXP Pro SP2
We use WriteSingleSampleSingleLine to lower a digital output line and then raise it again about 5ms later.
It appears that intermittently the line doesn't go low (we've verified this with an external 'scope). It's almost like the 6008 either doesn't get the "set low" write, or gets both writes (set low+set high) in such rapid succession that the "set high" write overlays/replaces the "set low".
Is a DAQmx Write command "synchronous" (the calling app is blocked until the value has actually been written to the 6008) OR is it "async" (the calling app is NOT blocked while the value is written to the 6008)?
To debug the problem, we inserted a Read command to read-back the value just written to the 6008 line, and the problem disappears... the value always seems to get written to the 6008... which makes it very suspicious that the write command is somehow being "buffered" and not written to the 6008 until some other operation (like Read) is performed.
Has anyone else seen a similar problem with back-to-back digital outputs to a 6008 or other NI device... particularly one that's USB?
DT