при любом изменении на выводе 3.1 больше ничего не происходит - контроллер перестает работать. Код в PIOINT3_IRQHandler() также не обрабатывается, не понятно, попадает программа в обработчик или нет. В чем может быть ошибка?
Код
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
NVIC_EnableIRQ(EINT3_IRQn);
/* use port3_1 as input event, interrupt test. */
GPIOSetDir( PORT3, 1, 0 );
/* port0_1, single edge trigger, active high. */
GPIOSetInterrupt( PORT3, 1, 0, 0, 0 );
GPIOIntEnable( PORT3, 1 );
NVIC_EnableIRQ(EINT3_IRQn);
/* use port3_1 as input event, interrupt test. */
GPIOSetDir( PORT3, 1, 0 );
/* port0_1, single edge trigger, active high. */
GPIOSetInterrupt( PORT3, 1, 0, 0, 0 );
GPIOIntEnable( PORT3, 1 );
А, разобрался, прошу прощения. В примерах IAR неправильно обозван обработчик в файле gpio.c. Нужно void PIOINT3_IRQHandler(void) заменить на void PIO3_IRQHandler(void). Тогда все работает.