Omega OME-PIO-D144 manual If PC1 is active

Page 14

void interrupt irq_service()

{

char cc; int_num++;

/* 1. Read interrupt signal status */ new_int_state=inp(wBase+0x07)&0xff;

/*

2.

Find the active

signal

*/

int_c=new_int_state ^

now_int_state;

/*

3.

IF PC0 is active

 

*/

if ((int_c&0x01) != 0)

{

cc=new_int_state&0x01;

if (cc !=0) CNT_H1++; else CNT_L1++; invert=invert ^ 1;

}

/* 4. IF PC1 is active

*/

if ((int_c&0x02) != 0)

{

cc=new_int_state&0x02;

if (cc !=0) CNT_H2++; else CNT_L2++; invert=invert ^ 2;

}

/* 5. IF PC2 is active

*/

if ((int_c&0x04) != 0)

{

cc=new_int_state&0x04;

if (cc !=0) CNT_H3++; else CNT_L3++; invert=invert ^ 4;

}

/* 6. IF PC3 is active

*/

if ((int_c&0x08) != 0)

{

cc=new_int_state&0x08;

if (cc !=0) CNT_H4++; else CNT_L4++; invert=invert ^ 8;

}

now_int_state=new_int_state; outp(wBase+0x2a,invert);

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

}

OME-PIO-D144 User’s Manual (Ver.2.1, Sep/2001)

---- 12

Image 14
Contents User’sGuide Benelux CanadaMexico Czech RepublicOME-PIO-D144 Table of Contents Demo Program Product Check List SpecificationsAll signals are TTL compatible Hardware configuration Board LayoutRefer to DEMO1.C for demo program Enable I/O OperationI/O Port Location O Architecture Make sure the initial level is High or Low If INT signal is Low now Æ select the non-inverted inputInterrupt Operation Refer to DEMO3.C for source code Refer to DEMO4.C for source code CN1PC0 CN1PC1 CN1PC2 CN1PC3 If PC1 is active OME-DN-37 & OME-DN-50 Daughter BoardsOME-DB-37 OME-DB-8125OME-ADP-37/PCI & OME-ADP-50/PCI OME-DB-24P OME-DB-24PD OME-DB-24P/24PD Isolated Input BoardOME-PIO-D144 OME-DB-24R/24RD Relay Board COM OME-DB-24PR OME-DB-24PR/24POR/24COME-DB-24PR Daughter Board Comparison Table GND Pin AssignmentVCC OME-PIO-D144 User’s Manual Ver.2.1, Sep/2001 PIO/PISO identification information How to Find the I/O AddressResource-allocated information PC’s physical slot informationOME-PISO-P32A32 OME-PIO-821OME-PISO-P32C32 OME-PISO-P8R8PIODriverInit PIODriverInit&wBoards, wSubVendor,wSubDevice,wSubAuxPIOGetConfigAddressSpace ShowPIOPISO Assignment of I/O Address Slot5 0x0A Slot6 0x08 Slot7 0x09 Slot8 0x07OME-PIO-D144 User’s Manual Ver.2.1, Sep/2001 I/O Address Map RESET\ Control RegisterRESET\ Address Read WriteINT Mask Control Register AUX Control RegisterAUX data Register CN1PC3 CN1PC2 CN1PC1 CN1PC0Aux Status Register Interrupt Polarity Control RegisterRead/Write 8-bit data Register Active I/O Port Control RegisterCN4PC CN4PB CN4PA CN3PC CN3PB CN3PA 9 I/O Selection Control RegisterCN2PC CN2PB CN2PA CN1PC CN1PB CN1PA CN6PC CN6PB CN6PA CN5PC CN5PB CN5PA\TC\LARGE\DEMO?\ \TC\LARGE\\TC\LARGE\LIB\ \TC\LARGE\LIB\PIO.HOME-PIO-D144.H Demo1 Use D/O of CN1 CN3 CN4 Demo2 Use D/O of CN1~CN6 PA/PB/PC Demo3 Interrupt demo1 COUNT=0Refer to Sec .5.1 for more information Demo4 Interrupt demo2 Refer to Sec .5.2 for more information Demo5 Interrupt demo3 CN1PC1 OME-PIO-D144 User’s Manual Ver.2.1, Sep/2001 Demo 6 Outport of CN1-CN6 OME-PIO-D144 User’s Manual Ver.2.1, Sep/2001 Demo10 Find Card Number OME-PIO-D144 User’s Manual Ver.2.1, Sep/2001 WARRANTY/DISCLAIMER Temperature