Hello
I have a DAQ Card 6533 which I am using to generate an output pattern when triggered from an external source. I am usinf visual c++ and NI-DAQ. I fill an array with suitable values for the pattern, set up the card for externally triggered pattern generation and run the program. All seems to work as expected but all is not as it seems...
Initially I set the PG for external triggering Low, so when the falling edge of my trigger signal appeared I generated a pattern. I configured the card for a timebase of 1uS and a request interval of 10uS and filled my pattern array with 5 zero's (i16 type) and then some data (1,0,512,0,0)
On running the program I saw what I expected on a scope. Follwing the application of a trigger, 100uS after the falling edge I saw data (due I guess to the first 5 zeros in the pattern array. i.e. 5 i16 zero's = 10 8 bits = 100uS)
However, I ideally wanted the pattern of data to be visible immediately after the falling edge (with no zero's) so I removed the zero's and filled the array accordingly (1,0,512,0,0) When I ran the program I got the appropriate triggering, however, the pattern generation output seems to default to high after the data has been output. This wouldn't matter if I was only running the pattern generation once, but I hope to run mutliple outputs combined with some inputsand would like the pattern output port to be at zero before the next trigger occurs. Why does the output from the configured port default to high some 2.6mS after the last bit of pattern data has been output? How do I ensure the output is always zero unless I set it!!
Can anyone help? Assuming of course you can understand my ramblings. I don't know if this is a problem with my code or just my understanding of the programming of the DAQ Card 6533 using NI-DAQ. Basically my triggers appear every 30mS and last for 100uS. I trigger on the falling edge and then generate, through a pattern, 200 10uS pulses on DIOA0, one evry 100uS. This is then repeated for the next trigger, some 4000 times in total. I would prefer the DIOA0 output to drop to zero once the pattern has been output. If I load the pattern array with 5 zero's at the start, then the output from DIOA0 defaults to zero...... but I don't want the zero's straight after the trigger....HELP...