User`s guide
34 ? PCIS-DASK Application Hints
[Example Code Fragment]
card = Register_Card(PCI_7300A_RevB, card_number);
…
DO_7300B_Config (card, 16, TRIG_INT_PACER, P7300_WAIT_NO, P7300_TERM_ON, 0, 0x40004000);
//start pattern generation
DO_PGStart (card, out_buf, 10000, 5000000);
…
//stop pattern generation
DO_PGStop (card);
Release_Card(card);
4.4.5 Multiple-buffered Asynchronous Continuous Digital output programming Scheme
This section described the function flow typical of multi-buffered asynchronous digital output operation.
While performing continuous DO operation, the DO configuration function has to be called at the
beginning of your application. For asynchronous DO, the SyncMode argument in continuous DO
functions has to be set as ASYNCH_OP.
DI_xxxx_Config
(
xxxx means the card type,
e.g. DO_7300B_Config
)
DO_ContMultiBufferStart
DO_AsyncMultiBufferNextRead
y
Next half buffer
ready?
Yes
No
DO_ContMultiBufferSetup repeatedly…
Copy prepared data to the ready
buffer
Want to stop
the operation?
DO_AsyncClear
Yes
No
[Example Code Fragment]
card = Register_Card(PCI_7300A_RevB, card_number);
…
DO_7300B_Config (card, 16, TRIG_CLK_10MHZ, P7300_WAIT_NO, P7300_TERM_ON, 0, 0x00040004);
//setting the DMA buffers repeatedly
DO_ContMultiBufferSetup (card, out_buf, data_size, &BufferId);
DO_ContMultiBufferSetup (card, out_buf, data_size, &BufferId);