Я настроил один пин на прерывание если на входе у него будет 0 Далее в прерыании перебираю столбцы и смотрю все строки
void PIN_INT0_IRQHandler(void)
{
uint32_t k;
k = Chip_PININT_GetIntStatus(LPC_PININT);
if (k & PININTCH0)
{
///my code
}
}
//////////////////////////////////////////// settings pin and interrapt
Chip_SYSCTL_SetPinInterrupt(0, 17);
Chip_PININT_ClearIntStatus(LPC_PININT, PININTCH0);
Chip_PININT_SetPinModeEdge(LPC_PININT, PININTCH0);
Chip_PININT_EnableIntLow(LPC_PININT, PININTCH0);
NVIC_EnableIRQ(PIN_INT0_IRQn);
/////////////////////////////////////////
Но таких pin-ов у меня 6. Я могу сделать 6 одинаковых прерываний, но как то это не по человечьи. Надо чтобы было 1 прерывание для всех pin-ов. Как это делается в микроконтроллерах, должна быть какаето группировка. В LPC824 есть механизм pattern match engine- что это такое ?