
42
Agilent VISA User’s Guide
3
Programming with VISA
Formatted I/O Buffers
The VISA software maintains both a read and write buffer for formatted
I/O operations. Occasionally, you may want to control the actions of
these buffers. You can modify the size of the buffer using the
viSetBuf
function. See the
VISA Online Help
for more information on this
function.
The write buffer is maintained by the
viPrintf
or
viQueryf
(
writeFmt
)
functions. The buffer queues characters to send to the device so that they
are sent in large blocks, thus increasing performance. The write buffer
automatically flushes when it sends a newline character from the format
string. It may occasionally be flushed at other non-deterministic times,
such as when the buffer fills.
When the write buffer flushes, it sends its contents to the device. If you
set the VI_ATTR_WR_BUF_OPER_MODE attribute to
VI_FLUSH_ON_ACCESS, the write buffer will also be flushed every
time a
viPrintf
or
viQueryf
operation completes. See “VISA
Attributes” in this chapter for information
on setting VISA attributes.
The read buffer is maintained by the
viScanf
and
viQueryf
(
readFmt
)
functions. It queues the data received from a device until it is needed by
the format string. Flushing the read buffer destroys the data in the buffer
and guarantees that the next call to
viScanf
or
viQueryf
reads data
directly from the device rather than data that was previously queued.
If you set the VI_ATTR_RD_BUF_OPER_MODE attribute to
VI_FLUSH_ON_ACCESS, the read buffer will be flushed every time a
viScanf or viQueryf operation completes. See “VISA Attributes” in this
chapter for information on setting VISA attributes.
You can manually flush the read and write buffers using the
viFlush
function. Flushing the read buffer also includes reading all pending
response data from a device. If the device is still sending data, the flush
process will continue to read data from the device until it receives an
END
indicator from the device.
Содержание E2094S
Страница 6: ...6 Agilent VISA User s Guide ...
Страница 116: ...116 Agilent VISA User s Guide 4 Programming via GPIB and VXI ...
Страница 126: ...126 Agilent VISA User s Guide 5 Programming via LAN ...
Страница 143: ...Glossary Agilent VISA User s Guide 143 Windows notification area See notification area ...
Страница 144: ...144 Agilent VISA User s Guide Glossary ...