Refer to demo4.c for source code – Omega OME-PIO-D144 User Manual

Page 12

Advertising
background image

Example 2: assume initial level=High, PC0 is used as interrupt source:

Initial=High

Inverted=Low

Iniaial_sub()
{ now_int_state=1
_outpd(wBase+0x2a,1)
/*(select the inverted signal)*/









ISR_sub()
{
If (now_int_state==0) /* old state=low Æ change to high now */
{
now_int_state=1; /* now int_signal is High */

/*** application codes are given here ***/

_outpd(wBase+0x2a,1); /* select the inverted signal */
}
else /* old state=highÆ change to low now */
{
now_int_state=0; /* now int_signal is Low */

/*** application codes are given here ***/

_outpd(wBase+0x2a,0);

/* select the non-inverted signal */

}

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

/* EOI */

outp(A1_8259,0x20);

/* EOI */

}






















Refer to DEMO4.C for source code.


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

---- 10

Advertising