beautypg.com

Dmachannel, Enter (controller mode) – Measurement Computing Personal488 rev.3.0 For DOS & Windows 3.Xi User Manual

Page 335

background image

15B. Driver488/SUB, W31, W95, & WNT

III. COMMAND REFERENCES - 15. Command References

III-320

Personal488 User’s Manual, Rev. 3.0

errorcode=Disarm(ieee,0);

The

Disarm

command prevents Driver488 from setting the light pen status or invoking an event

handler and interrupting the PC, even when the specified condition occurs. The user’s program can
still check for the condition by using the

Status

command. If the

Disarm

command is invoked

without specifying any conditions, then all conditions are disabled. The

Arm

command may be used to

re-enable interrupt detection.

DmaChannel

Driver488/SUB and Driver488/W31 only

SYNTAX

int pascal DmaChannel(DevHandleT devHandle, int channel);

devHandle

refers to either an IEEE 488 interface or an external device. If

devHandle

refers to an external device, the

DmaChannel

command acts on

the hardware interface to which the external device is attached.

channel

is the DMA channel to be used by the I/O adapter, or

-1

for NONE.

RESPONSE

-1 if error

MODE

Any

BUS STATES

None

SEE ALSO

IntLevel, TimeOut

EXAMPLE

errorcode = DmaChannel(ieee, 5);

The

DmaChannel

command specifies which DMA channel, if any, is to be used by the I/O interface

card. The PC has four DMA channels, but channel

0

is used for memory refresh and is not available

for peripheral data transfer. Channel

2

is usually used by the floppy-disk controller and is also

unavailable. Channel

3

is used by the hard disk controller in PCs, but is usually not used in AT

compatible machines. So, channel

1

(and possibly channel

3

) is available for DMA transfers. The AT

compatible computers have three 16-bit DMA channels:

5

,

6

, and

7

. The MP488CT, MP488, and

AT488 interfaces can use these channels for high speed transfer. The

DmaChannel

value must match

the hardware jumper settings on the I/O adapter card.

Note:

This command is not applicable to the NB488.

Enter (Controller Mode)

EnterX

SYNTAX

long pascal EnterX(DevHandleT devHandle, char *data,long

count,bool forceAddr,TermT*term,bool async,int *compStat);

devHandle

refers to either an IEEE 488 interface or an external device.

data

is a pointer to the buffer into which the data is read.

count

is the number of characters to read.

forceAddr

is used to specify whether the addressing control bytes are to be

issued for each

EnterX

command.

term

is a pointer to a terminator structure that is used to set up the input

terminators. If

term

is set to

0

, the default terminator is used.

async

is a flag that allows asynchronous data transfer.

compStat

is a pointer to an integer containing completion status information.

RETURNS

-1 if error,

otherwise, the number of bytes transferred. The memory buffer

pointed to by the data parameter is filled in with the
information read from the device.

MODE

CA

BUS STATES

ATN

UNL, MLA, TAG, *ATN, data (With external device handle)

*ATN, data (With interface handle)

SEE ALSO

OutputX, Term, EOL, Buffered

EXAMPLE

See next page.