Omega Engineering OME-PIO-D96 manual Countl++

Page 44

{

irqmask=inportb(A1_8259+1);

outportb(A1_8259+1,irqmask & 0xfb);/* IRQ2 */ irqmask=inportb(A2_8259+1);

outportb(A2_8259+1,irqmask & 0xff ^ (1<<(wIrq-8))); setvect(wIrq-8+0x70,irq_service);

}

outportb(wBase+5,1);

/* enable interrupt (P2C0) */

now_int_state=0;

/* now ini_signal is low

*/

outportb(wBase+0x2a,1);

/* select the non-inverte

*/

enable();

 

 

}

 

 

void interrupt irq_service()

 

 

{

/* now P2C0 change to low

*/

if (now_int_state==1)

{

/* INT_CHAN_0 = !P2C0

*/

COUNT_L++;

/* find a low pulse (P2C0)

*/

if ((inportb(wBase+7)&1)==0)

/* P2C0 still fixed in low

*/

{

/* need to generate a high pulse */

outportb(wBase+0x2a,1);

/* INV0 select noninverted input */

now_int_state=0;

/* now P2C0=low

*/

}

/* now P2C0=High

*/

else now_int_state=1;

}

/* now P2C0 change to high

*/

else

{

/* INT_CHAN_0 = P2C0

*/

COUNT_H++;

/* find a high pulse (P2C0)

*/

if ((inportb(wBase+7)&1)==1)

/* P2C0 still fixed in high

*/

{

/* need to generate a high pulse */

outportb(wBase+0x2a,0);

/* INV0 select inverted input

*/

now_int_state=1;

/* now P2C0=high

*/

}

/* now P2C0=low

*/

else now_int_state=0;

}

 

 

if (wIrq>=8) outportb(A2_8259,0x20); outportb(A1_8259,0x20);

}

OME-PIO-D96 User Manual (Ver.1.1, Mar/2003)

---- 42

Image 44
Contents User’sGuide Canada MexicoBenelux Czech RepublicOME-PIO-D96 Table of Contents Features IntroductionOptions SpecificationsOrder Description OME-PISO-series cost-effective generation, isolated cards PCI Data Acquisition FamilyProduct Check List Hardware configuration Board LayoutRefer to DEMO1.C for demo program Enable I/O OperationI/O port Location D/I/O Architecture Interrupt Operation Make sure the initial level is High or LowInterrupt Block Diagram of OME-PIO-D96 INTCHAN3INTCHAN0/1/2/3 Initialhigh, activelow Interrupt source COUNTL++Initiallow, activehigh Interrupt source Muliti Interrupt Source Read all interrupt state Daughter Boards OME-DB-37OME-DN-37 & OME-DN-50 OME-DB-8125OME-ADP-37/PCI & OME-ADP-50/PCI OME-DB-24P/24PD Isolated Input Board OME-DB-24R/24RD Relay Board OME-DB-24PR/24POR/24C Daughter Boards Comparison Table All signals are TTL compatible Pin AssignmentVCC GND How to Find the I/O Address Resource-allocated informationOME-PIO/PISO identification information PC’s physical slot informationWSubVendor=0x80 wSubDevice=1 wSubAux=0x10 /* for PIOD96 PIODriverInitPIODriverInit&wBoards, wSubVendor,wSubDevice,wSubAux Current sinking Enable all D/I/O operation of card1 PIOGetConfigAddressSpaceEnable all D/I/O operation of card0 ShowPIOPISO ShowPIOPISOwSubVendor,wSubDevice,wSubAuxAssignment of I/O Address Slot5 0x0A Slot6 0x08 Slot7 0x09 Slot8 0x07I/O Address Map Address Read WriteAUX data Register RESET\ Control RegisterAUX Control Register INT Mask Control Register Aux Status RegisterInterrupt Polarity Control Register INV3 INV2 INV1 INV07 I/O Selection Control Register Read/Write 8-bit data Register How to install software & utility? Demo programPiopiso PIOPISO.EXE for Windows DEMO1 DEMO2 DEMO3 COUNTL++ DEMO4 COUNTL++ DEMO5 CNTL1=CNTL2=CNTL3=CNTL4=0 Page WARRANTY/DISCLAIMER Temperature