Technical data
Connecting Instruments to GPIB 3
Agilent Connectivity Guide 67
The default behavior of the 82350 driver is to use Polling mode for
transfers of 256 bytes or less and to use
Interrupt mode for larger
transfers. You can modify this default behavior by doing the following:
VISA: The VISA function
viSetAttribute(vi, VI_ATTR_DMA_ALLOW_EN,
attrValue)
can be called to modify the read/write behavior for a VISA session. The
VI_ATTR_DMA_ALLOW_EN values allowed are:
• VI_TRUE (default value) Use Interrupt mode for transfer
requests larger than 256 bytes, otherwise, use Polling mode.
• VI_FALSE Use the Polling mode.
SICL: The SICL function
ihint(id, hint)
can be called to modify the read/write behavior for on a SICL session.
The hint values allowed are:
• I_HINT_DONTCARE (default value) Use Interrupt mode for
transfer requests larger than 256 bytes, otherwise, use Polling
mode.
• I_HINT_USEPOLL Use the Polling mode.
• I_HINT_IO Use the Interrupt mode.
Some additional factors to consider are:
• The settings discussed above are per session. This means you can
open multiple sessions to a device and set different transfer modes
for different sessions. The actual mode used will then depend on
which session you are using for the read/write calls.
• In both SICL (with hint = I_HINT_DONTCARE) and VISA
(with VI_ATTR_DMA_ALLOW_EN = VI_TRUE), the size of
the read request (as specified by bufsize in a SICL iread()
or count in a VISA viRead() function call) will determine the
mode used even if the number of bytes actually read is less.
• The default formatted I/O read buffer size is 4096 so when using
this default size, formatted reads in SICL (with hint =
I_HINT_DONTCARE) and VISA (with
VI_ATTR_DMA_ALLOW_EN = VI_TRUE) will use Interrupt
mode even when a small number of bytes are expected.