Mode 2 programming example – National Instruments PC-DIO-24 User Manual

Page 43

Advertising
background image

Chapter 4

Register-Level Programming

© National Instruments Corporation

4-13

PC-DIO-24 User Manual

Bit

Name

Description (continued)

4

INTE2

Interrupt Enable Bit for Input—If this bit is set, interrupts are
enabled from the 82C55A for IBFA. Controlled by bit set/reset of
PC4.

3

INTRA

Interrupt Request Status—If INTE1 is high and IBFA is high, this
bit is high, indicating that an interrupt request is asserted for input
transfers. If INTE2 is high and OBFA* is high, this bit is high,
indicating that an interrupt request is asserted for output transfers.

2–0

I/O

Input/Output—Extra I/O status lines available if port B is not
configured for mode 1.

At the digital I/O connector, port C has the following pin assignments when in mode 2.

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

OBFA*

ACKA*

IBFA

STBA*

INTRA

I/O

or

Hand-

shaking

Group A

Group B

Mode 2 Programming Example

Main() {

#define BASE_ADDRESS

0x210

/* Board located at address 210. */

#define PORTAoffset

0x00

/* Offset for port A */

#define PORTBoffset

0x01

/* Offset for port B */

#define PORTCoffset

0x02

/* Offset for port C */

#define CNFGoffset

0x03

/* Offset for CNFG */

register unsigned int porta, portb, portc, cnfg;
char valread;

/* Variable to store data read from a

port */

/* Calculate register addresses. */
porta = BASE_ADDRESS + PORTAoffset;
portb = BASE_ADDRESS + PORTBoffset;
portc = BASE_ADDRESS + PORTCoffset;
cnfg = BASE_ADDRESS + CNFGoffset;

Advertising