Omega-vehicle-security OME-PIO-D56 Manuel d'utilisateur Page 50

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 53
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 49
if (wIrq<8)
{
irqmask=inportb(A1_8259+1);
outportb(A1_8259+1,irqmask & 0xff ^ (1<<wIrq));
setvect(wIrq+8,irq_service);
}
else
{
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);
}
invert=0x05;
outportb(wBase+0x2a,invert); /* PC0 = non-inverte input */
/* PC1 = inverte input */
/* PC2 = non-inverte input */
/* PC3 = inverte input */
now_int_state=0x0a; /* PC0 = Low */
/* PC1 = High */
/* PC2 = Low */
/* PC3 = High */
CNT_L1=CNT_L2=CNT_L3=CNT_L4=0; /* Low_pulse counter */
CNT_H1=CNT_H2=CNT_H3=CNT_H4=0; /* High_pulse counter */
int_num=0;
outportb(wBase+5,0x0f); /* enable interrupt PC0,PC1 */
enable(); /* PC2,PC3 */
}
/* -------------------------------------------------------------- */
/* NOTE:1.The hold-time of INT_CHAN_0/1/2/3 must long enough */
/* 2.The ISR must read the interrupt status again to the */
/* active interrupt sources. */
/* 3.The INT_CHAN_0&INT_CHAN_1 can be active at the same time*/
/* -------------------------------------------------------------- */
void interrupt irq_service()
{
char c;
int_num++;
new_int_state=inportb(wBase+7)&0x0f; /* read all interrupt state */
int_c=new_int_state^now_int_state; /* compare which interrupt */
/* signal be change */
if ((int_c&0x1)!=0) /* INT_CHAN_0 is active */
{
if ((new_int_state&0x1)!=0)/* now PC0 is change to high */
{
CNT_H1++;
}
else /* now PC0 is change to low */
{
CNT_L1++;
}
invert=invert^1; /* to generate a high pulse */
}
if ((int_c&0x2)!=0) /* INT_CHAN_1 is active */
{
if ((new_int_state&0x2)!=0)/* now PC1 is change to high */
{
CNT_H2++;
}
PIO-D56/PIO-D24 User Manual (Ver.2.1, Oct/2003, PPH-005-21) ---- 48
Vue de la page 49
1 2 ... 45 46 47 48 49 50 51 52 53

Commentaires sur ces manuels

Pas de commentaire