10-08-2007 09:01 AM
10-15-2007 07:54 AM
10-15-2007 09:02 AM
10-15-2007 09:28 AM
10-15-2007 10:06 AM
10-15-2007 12:42 PM
10-15-2007 12:45 PM
10-15-2007 12:55 PM
10-15-2007 01:15 PM
10-15-2007 01:40 PM
> Yes, starting and stopping a task repeatedly does take quite a bit of time but I don't think that is the intended way to use DAQmx.
Yes, but that's the problem, because I was not able to make them work (the task functions) for digital output if I do not use the autostart parameter = true in the digitalwriteU8() function or do not use write (no autostart) + start + stop in the sequence. In both cases, the timing is not good enough. In fact, in the WriteDigitalU8() you also set the number of bytes and the buffer address to write, and to write 1 byte, 100 or 1000 makes not much diference. It takes more than 10 ms in a 2GHz machine if you use cfgClkTiming() to set a output clock generation and 0.7 ms if not to output a 100 bytes block.
A curious point is that if you do not use cfgClkTiming(), do not use waitTaskDone() and use autostart, then it takes much less time.
Also, another thing I did not understand, is that the cfgClkTiming seems not be obeyed. If I set a 1 KHz clock and send 1000 bytes, it does not take 1 second... or 1 byte each 1 ms as I would expect from the documentation, but also between 10 and 15 ms.
I really would like to see more actual working EXAMPLES in the documentation for using other languages that not LabView, to check if I missed something after reading 1001 times that horrible documentation without a single example.
Thanks, LMP