4 demo3, Demo3 – Omega Vehicle Security OME-PIO-D56 User Manual

Page 45

Advertising
background image


4.4 DEMO3

/* demo 3 : Count high pulse of PC0 */

/* (initial Low & active High) */

/* step 1 : run DEMO3.EXE */

/* -------------------------------------------------------------- */

#include "PIO.H"

#define A1_8259 0x20

#define A2_8259 0xA0

#define EOI 0x20

WORD init_low();

WORD wBase,wIrq;

static void interrupt irq_service();

int COUNT,irqmask,now_int_state;

int main()

{

int i,j;

WORD wBoards,wRetVal,t1,t2,t3,t4,t5,t6;

WORD wSubVendor,wSubDevice,wSubAux,wSlotBus,wSlotDevice;

char c;

clrscr();

/* step1 : find address-mapping of PIO/PISO cards */

.

.

/* select card_0 */

/* step2 : enable all D/I/O port */

outportb(wBase,1); /* /RESET -> 1 */

/* step3 : configure I/O direction */

outportb(wBase+0xcc,0x00); /* set CON3 as D/I ports */

COUNT=0;

init_low();

printf("\n\n***** show the count of High_pulse *****\n");

for (;;)

{

gotoxy(1,8);

printf("\nCOUNT=%d",COUNT);

if (kbhit()!=0) break;

}

outportb(wBase+5,0); /* disable all interrupt */

PIO_DriverClose();

}

/* Use PC0 as external interrupt signal */

WORD init_low()

{

disable();

outportb(wBase+5,0); /* disable all interrupt */

if (wIrq<8)

OME-PIO-D56/OME-PIO-D24 User Manual (Ver.2.1, Oct/2003)

---- 43

{

Advertising