2 demo1, Demo1 – Omega Vehicle Security OME-PIO-D56 User Manual

Page 43

Advertising
background image

4.2 DEMO1

/* demo 1 : D/O demo of CON3 */

/* step 1 : connect a OME-DB-24C to CON3 of OME-PIO-D56/D24 */

/* step 2 : run DEMO1.EXE */

/* step 3 : LEDs of OME-DB-24C will turn on sequentially */

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

#include "PIO.H"

WORD wBase,wIrq;

int main()

{

int i1,i2,i3;

long i;

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 */

wRetVal=PIO_DriverInit(&wBoards,0x80,0x01,0x40);/* for OME-PIO-

D56/D24*/

printf("\n(1) Threr are %d OME-PIO-D56/D24 Cards in this PC",wBoards);

if ( wBoards==0 ) exit(0);

printf("\n\n-------------- The Configuration Space --------------");

for(i=0;i<wBoards;i++)

{

PIO_GetConfigAddressSpace(i,&wBase,&wIrq,&wSubVendor,

&wSubDevice,&wSubAux,&wSlotBus,&wSlotDevice);

printf("\nCard_%d:wBase=%x,wIrq=%x,subID=[%x,%x,%x],SlotID=

[%x,%x]",i,wBase,wIrq,wSubVendor,wSubDevice,

wSubAux,wSlotBus,wSlotDevice);

printf(" --> ");

ShowPioPiso(wSubVendor,wSubDevice,wSubAux);

}

PIO_GetConfigAddressSpace(0,&wBase,&wIrq,&t1,&t2,&t3,&t4,&t5);

/* select card_0 */

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

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

/* step3 : configure I/O direction */

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

i=1;

for (;;)

{

i1=i&0xff;

i2=(i>>8)&0xff;

i3=(i>>16)&0xff;

outportb(wBase+0xc0,i1);

outportb(wBase+0xc4,i2);

outportb(wBase+0xc8,i3);

delay(10000);

i=i<<1;

i=i&0x0ffffff;

if (i==0) i=1;

if (kbhit()!=0) break;

}

PIO_DriverClose();

}

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

---- 41

Advertising