Chapter 4
Programming
© National Instruments Corporation
4-89
AT-MIO-16D User Manual
/* EXAMPLE 1*/
outp(cnfg,0xC0);
/* Port A is in Mode 2. */
while (!(inp(portc) & 0x80));
/* Wait until OBFA* is set,
indicating that the data last
written to Port A has been
read.*/
outp(porta,0x67);
/* Write the data to Port A. */
while (!(inp(portc) & 0x20));
/* Wait until IBFA is set, indicating
that data is available in Port A to
be read. */
valread = inp(porta);
/* Read data from Port A. */
}
Single Bit Set/Reset Feature
You can set or reset any of the eight bits of Port C with one control word. This feature generates
status and control for Port A and Port B when operating in Mode 1 or Mode 2.
Interrupt Programming Examples
The following examples show the process required to enable interrupts for several different
operating modes. The interrupt handling routines and interrupt installation routines are not
included. See the IBM Personal Computer AT Technical Reference manual for additional
information.
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_A PORTAoffset;
portb = BASE_A PORTBoffset;
portc = BASE_A PORTCoffset;
cnfg = BASE_A CNFGoffset;
/* EXAMPLE 1–Set up interrupts for Mode 1 input for Port A. Select PC6 as the
interrupt enable bit. */
outp(cnfg,0xB0);
/* Port A is an input in Mode 1. */
outp(cnfg,0x09);
/* Set PC4 to enable interrupts from
82C55A. */
outp(cnfg,0x0C);
/* Clear PC6 to enable interrupts. */
Summary of Contents for AT-MIO-16D
Page 16: ......
Page 23: ......
Page 185: ......
Page 206: ......
Page 207: ......
Page 208: ......
Page 209: ......
Page 210: ......
Page 211: ......
Page 212: ......
Page 213: ......
Page 214: ......
Page 215: ......
Page 216: ......
Page 217: ......
Page 218: ......
Page 219: ......
Page 220: ......
Page 221: ......
Page 222: ......
Page 223: ......
Page 224: ......
Page 225: ......
Page 226: ......
Page 227: ......
Page 228: ......
Page 229: ......
Page 230: ......
Page 231: ......
Page 232: ......
Page 233: ......
Page 234: ......
Page 235: ......
Page 236: ......
Page 237: ......
Page 238: ......
Page 239: ......
Page 240: ......
Page 241: ......
Page 242: ......
Page 243: ......
Page 244: ......
Page 246: ......
Page 247: ......
Page 248: ......
Page 249: ......
Page 250: ......
Page 251: ......
Page 252: ......
Page 253: ......
Page 254: ......
Page 255: ......
Page 256: ......
Page 257: ......
Page 258: ......
Page 259: ......
Page 260: ......
Page 261: ......