3 demo2, Demo2 – Omega Vehicle Security OME-PIO-D56 User Manual

Page 44

Advertising
background image

4.3 DEMO2

/* demo 2 : DI/O demo of CON1, CON2 & CON3 */

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

/* : connect CON1 t0 CON2 of OME-PIO-D56 */

/* step 2 : run DEMO2.EXE */

/* step 3 : check the information on screen D/I will same as D/O */

/* : check the result on screen will same as CON3 input */

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

#include "PIO.H"

WORD wBase,wIrq;

int main()

{

int i1,i2,i3,j1,j2,j3;

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

WORD wSubVendor,wSubDevice,wSubAux,wSlotBus,wSlotDevice;

char c;

long i;

clrscr();

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

.

.

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

i=1;

for (;;)

{

gotoxy(1,7);

i1=i&0xff;

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

outportb(wBase+0xd0,i1);

outportb(wBase+0xd4,i2);

j1=inportb(wBase+0xd0);

j2=inportb(wBase+0xd4);

printf("\nDO = [%2x,%2x], DI = [%2x,%2x]",i2,i1,j2,j1);

if ((j1!=i1)||(j2!=i2))

{

printf("\n\nError ......");

}

else printf("\nO.K. ......");

j1=inportb(wBase+0xc0);

j2=inportb(wBase+0xc4);

j3=inportb(wBase+0xc8);

printf("\n\nD/I of CON3 [PA, PB, PC] = [%2x,%2x,%2x] ",j1,j2,j3);

i=i<<1;

i=i&0x0ffff;

if (i==0) i=1;

if (kbhit()!=0) return;

}

PIO_DriverClose();

}

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

Advertising