Mode 2 programming example – National Instruments PC-DIO-24 User Manual
Page 43
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;