Measurement Computing Personal488 rev.3.0 For DOS & Windows 3.Xi User Manual
Page 351

15B. Driver488/SUB, W31, W95, & WNT
III. COMMAND REFERENCES - 15. Command References
III-336
Personal488 User’s Manual, Rev. 3.0
The
OutputX
command sends data to an interface or external device. The Remote Enable (
REN
) line is
first asserted if Driver488 is the System Controller and
AutoRemote
is enabled. Then, if a device
address (with optional secondary address) is specified, Driver488 is addressed to Talk and the specified
device is addressed to Listen. If no address is specified, then Driver488 must already be configured to
send data, either as a result of a preceding
OutputX
command, or as the result of a
Send
command.
Terminators are automatically appended to the output data as specified.
The
forceAddr
flag is used to specify whether the addressing control bytes are to be issued for each
OutputX
command. If the device handle refers to an interface,
forceAddr
has no effect and
command bytes are not sent. If the device handle refers to an external device and
forceAddr
is
TRUE
,
Driver488 addresses the interface to Talk and the external device to Listen. If
forceAddr
is
FALSE
,
Driver488 compares the current device with the most recently addressed device on that interface. If the
addressing information is the same, no command bytes are sent. If they are different,
OutputX
acts as
if the
forceAddr
flag were
TRUE
and sends the addressing information.
The
terminator
is a pointer to a terminator structure that is used to set up the input terminators. This
pointer may be a null pointer, requesting use of the default terminators for the device, or it may point to
a terminator structure requesting no terminators. The
async
is a flag that allows asynchronous data
transfer. If this flag is
TRUE
, the
OutputX
command returns to the caller as soon as the data transfer is
underway and can be completed under DMA and/or interrupts.
FALSE
indicates that the
OutputX
command should not return until the transfer is complete. The
compStat
is a pointer to an integer
containing completion status information. A null pointer indicates that completion status is not
requested. In the case of an asynchronous transfer, this pointer must remain valid until the transfer is
complete.
Additional Output Functions
Driver488 provides additional
Output
functions that are short form versions of the
OutputX
function.
The additional
Output
functions are:
Output
,
OutputN
,
OutputMore
, and
OutputNMore
. These
functions are discussed in detail below:
Output
SYNTAX
long pascal Output(DevHandleT devHandle,char *data);
REMARKS
Output
is equivalent to the following call to
OutputX
:
OutputX(devHandle,data,strlen(data),1,1,0L,0,0L);
The
Output
function passes the device handle and a pointer to the data buffer to the
OutputX
function. It determines the size of the data buffer provided by the user and passes that value as the
count
parameter. It specifies that the
forceAddr
flag is set
TRUE
, which causes Driver488 to address
the device if an external device is specified. The default terminators are chosen by specifying a
0
pointer as the
terminator
parameter. Synchronous transmission is specified by sending
0
for the
async
parameter, and the completion status value is ignored by sending a
0
for the
compStat
pointer.
OutputN
SYNTAX
long pascal OutputN(DevHandleT devHandle,char *data,long
count);
REMARKS
OutputN
is equivalent to the following call to
OutputX
:
OutputX(devHandle,data,count,0,1,0L,0,0L);
The
OutputN
function passes the device handle and a pointer to the data buffer to the
OutputX
function. It specifies that the
forceAddr
flag is set
TRUE
, which causes Driver488 to address the
device if an external device is specified. The default terminators are chosen by specifying a
0
pointer
as the
terminator
parameter. Synchronous transmission is specified by sending
0
for the
async
parameter, and the completion status value is ignored by sending a
0
for the
compStat
pointer.
OutputMore
SYNTAX
long pascal OutputMore(DevHandleT devHandle, char *data);
REMARKS
OutputMore
is equivalent to the following call to
OutputX
: