beautypg.com

Output #count buffer (peripheral mode) – Measurement Computing Personal488 rev.3.0 For DOS & Windows 3.Xi User Manual

Page 316

background image

III. COMMAND REFERENCES - 15. Command References

15A. Driver488/DRV Commands

Personal488 User’s Manual, Rev. 3.0

III-301

OUTPUT #count BUFFER (Peripheral Mode)

SYNTAX

OUTPUT #count BUFFER buf-addr [CONTINUE] [term] [term] [EOI]

count

is the number of characters to

OUTPUT

.

buf-addr

is the memory buffer address.

CONTINUE

specifies an asynchronous data transfer.

term

and

EOI

override the normal IEEE 488 bus output terminators.

RESPONSE

None

MODE

*CA

BUS STATES

Determined by the Controller.

REN asserted if SYS CONTROLLER and AUTO REMOTE are enabled.

SEE ALSO

ENTER, TERM, TIME OUT, BUFFERED

EXAMPLES

PRINT#1,"OUTPUT#100 BUFFER

&H2000:0"

Send 100 characters from memory at &H20000.

PRINT#1,"OUTPUT#100 BUFFER

&H20100 EOI"

Send 100 characters from memory at &H20100

asserting EOI with the last character.

PRINT#1,"OUTPUT#100 BUFFER

&H1000:0 EOI"

Send 100 characters, asserting EOI on the last

character.

PRINT#1,"OUTPUT#100 BUFFER

&H2000:0 CONTINUE EOI"

Send 100 characters and allow the program to

continue while the transfer is taking place.

PRINT#1,"WAIT"

Send 100 characters and allow the program to

continue while the transfer is taking place.

In Peripheral mode, the

OUTPUT #count BUFFER

command sends data to the I/O adapter under

control of the Active Controller. The Active Controller must put Driver488 into the

Talk

state and

configure some bus device to accept the data that is transferred. The

Talk

state can be checked with

the

STATUS

command or it can cause an interrupt via the

ARM

command. A time-out error occurs, if

enabled, if the Controller does not accept the data within the time out period after issuing the

OUTPUT #count BUFFER

command.

The character count

count

must be specified and is the number of characters that is transferred.

OUTPUT #count BUFFER

does not send any bus output terminators unless they are specified. The

number of characters actually sent can be checked with the

BUFFERED

command.

If

CONTINUE

is specified, then Driver488 returns control to the user’s program as soon as possible

without waiting for the transfer to be completed. It does, however, wait for the first byte to check for
time-out unless a time-out value of

0

had been specified by a

TIME OUT

command. Because of

hardware limitations, the

CONTINUE

may not return until a substantial portion of the transfer is

complete, if Driver488 is configured for no interrupts.

CONTINUE

transfers are not finished until Driver488 has had an opportunity to “clean up” and complete

the transfer. This “clean up” is usually automatic: Driver488 implicitly performs a

WAIT

command

before performing any bus command. The program can itself use the

WAIT

command to guarantee that

the transfer is complete. If

EOI

is specified, the last byte is not transferred until Driver488 has the

opportunity to perform this clean up.

All characters in the memory buffer are sent exactly as stored. No detection of the

EOL

output

terminator is performed, and no terminator translation takes place.

Even as a Peripheral, Driver488 might be the System Controller. If it is and if

AUTO REMOTE

is

enabled, then it asserts RemoteEnable (

REN

) before sending any data.