Programming Considerations
Section Five
GPIB-1014P User Manual
5-4
© National Instruments Corporation
Case 2:
The TLC becomes a GPIB Listener when ATN is unasserted. To do this, wait for CO to
be set, issue the TLC GPIB Listen Address (MLA), wait for CO to be set again, and then
issue the Go To Standby auxiliary command.
Case 3.
The TLC is neither GPIB Talker nor Listener. In this case, issue the listen in continuous
mode auxiliary command or set the Holdoff on End (HLDE) and Holdoff on All
(HLDA) bits in AUXRA before going to standby. This puts the TLC in the continuous
mode. Once this mode is enabled, the TLC participates in the GPIB handshake without
setting the Data In (DI) bit. Then issue gts. When Holdoff occurs, the TLC can take
control synchronously. This means that the Talker must finish its transmission with the
END or EOS message. It can then take control synchronously when necessary.
Note: The Take Control Synchronously on End (tcse) auxiliary command can be
issued after gts, thereby causing the TLC to automatically take control
synchronously on holdoff.
Going from Standby to Active Controller
The manner in which the TLC resumes GPIB Active Control depends on how it went to standby.
Consider the three cases:
Case 1:
The TLC, as a Talker, takes control upon receipt of the Take Control Asynchronously
auxiliary command. Do not issue the Take Control Asynchronously auxiliary command
until there are no more bytes to send and the DO bit is set).
Case 2:
The TLC, as a Listener, takes control upon receipt of the Take Control Synchronously
auxiliary command. If programmed I/O is used, the Take Control Synchronously
auxiliary command should be issued between seeing a DI status bit and reading the last
byte from the DIR.
Case 3:
The TLC, as neither Talker nor Listener, takes control synchronously with the Take
Control Synchronously auxiliary command after detecting the END RX bit set in ISR1.
This indicates that a holdoff is in progress
When the Take Control Synchronously auxiliary command is used, the TLC takes control of the
GPIB only at the end of a data transfer. This implies that one transfer must follow or be in progress
when the Take Control Synchronously auxiliary command is issued. If this is not the case, the Take
Control Asynchronously auxiliary command must be used. Of course, the Take Control
Asynchronously auxiliary command may be used in place of the Take Control Synchronously
auxiliary command when the possibility of disrupting an in-progress GPIB handshake (before all
GPIB Listeners have accepted the data byte) is acceptable.
In Cases 2 and 3, the END IE bit in IMR1 can also be set to indicate to the program that the TLC
(functioning as a GPIB Listener) has received its last byte.
In all cases, a CO status indicates that the GPIB-1014P is now Active Controller.