Chapter 2 Function Reference — DIG_Block_Out
©
National Instruments Corporation 2-153 NI-DAQ FRM for PC Compatibles
If you use a DIO-32F or a DIO 6533 device, NI-DAQ writes all bytes in your buffer to the
group regardless of the group size. If the group size is one (which is supported only by the
DIO 6533),
DIG_Block_Out writes the lower eight bits of buffer[0] to the group on the first
write and the upper eight bits of buffer[0] to the group on the second write. For example, if
buffer[0] = 0xABCD, NI-DAQ writes 0xCD to the group on the first write, and writes 0xAB
to the group on the second write. If group size is 2,
DIG_Block_Out writes data from the
lower eight bits of buffer [0] to the lower port (port 0 or port 2) and data from the upper eight
bits of buffer [0] to the higher port (port 1 or port 3). If group size is 4,
DIG_Block_Out
writes data from buffer[0] to ports 0 and 1 and data from buffer[1] to ports 2 and 3.
If you use any device but a DIO-32F or a 6533 device, NI-DAQ writes the lower byte
of each buffer element to the group in the order indicated in portList when you call
DIG_SCAN_Setup. If the group size is two, on the first write DIG_Block_Out writes the
lower byte of buffer[0] to the first port on portList and the lower byte of buffer[1] to the last
port on portList. For example, if buffer[0] = 0xABCD and buffer[1] is 0x1234, NI-DAQ
writes 0xCD to the first port on portList, and writes 0x34 to the last port on portList.
If you have not configured the specified group as an output group, NI-DAQ does not perform
the operation and returns an error. If you have assigned no ports to the specified group,
NI-DAQ does not perform the operation and returns an error. You can call
DIG_Block_Check to monitor the status of a transfer initiated by DIG_Block_Out.
If you have previously enabled pattern generation on a DIO-32F or a 6533 device, the
generation takes effect upon the execution of
DIG_Block_Out. To avoid delays due to
DMA reprogramming on the AT-DIO-32F or AT-DIO-32HS, you can use dual DMA
(see the
Set_DAQ_Device_Info function), or you can align your data using the
Align_DMA_Buffer function (AT-DIO-32F only). See the Pattern Generation I/O with
the DIO-32F and DIO 6533 (DIO-32HS) section in Chapter 3, Software Overview, of the
NI-DAQ User Manual for PC Compatibles for important information about pattern
generation.
Note DIG_Block_Out will not work with groups of size = 1, because of a DMA
limitation when using the AT-DIO-32F.
Note If you are using an SCXI-1200 with remote SCXI, count is limited by the amount
of memory made available on the remote SCXI unit. For digital buffered output,
you are limited to 5,000 bytes of data. The upper bound for count depends on
the groupSize set in
DIG_SCAN_Setup
(for example, if groupSize = 2,
count ≤ 2,500).