void EINT3_IRQHandler(void)
{
if ((LPC_GPIOINT->IO2IntStatR>>5)& 0x1)
{
LPC_GPIOINT->IO2IntClr=1<<5;
printf("Interrupt p2.5 ");
}
if ((LPC_GPIOINT->IO2IntStatR>>6)& 0x1)
{
LPC_GPIOINT->IO2IntClr=1<<6;
printf("Interrupt p2.6 ");
}
}
int main (void)
{
PINSEL_CFG_Type PinCfg;
// Initialize P2.5
PinCfg.Funcnum = 0;
PinCfg.OpenDrain = 0;
PinCfg.Pinmode = 0;
PinCfg.Portnum = 2;
PinCfg.Pinnum = 5;
PINSEL_ConfigPin(&PinCfg);
// Initialize P2.6
PinCfg.Funcnum = 0;
PinCfg.OpenDrain = 0;
PinCfg.Pinmode = 0;
PinCfg.Portnum = 2;
PinCfg.Pinnum = 6;
PINSEL_ConfigPin(&PinCfg);
//Set as input
GPIO_SetDir(2, 1<<5, 0);
GPIO_SetDir(2, 1<<6, 0);
//Enable interrupt
LPC_GPIOINT->IO2IntEnR |=1<<5;
LPC_GPIOINT->IO2IntEnR |=1<<6;
NVIC_EnableIRQ(EINT3_IRQn);
} |