I am using LPC1833 Gruop Interrupt, I have 16 external interrupt spread across 2 ports (port 5 and 2) grouped into in one group (GROUP 0). They are pullup resistors on all 16 inputs and it works fine; however, if there is a bad input that pull any of the input low it prevents the microcontroller from getting additional interrupts on the remaining pins regardless of their state.
is this a limitation of the group interrupt?
Please see code below:
void Configure_GroupInt_GpIOs(void)
{
uint8_t i;
for( i=0; i <= 15 ;i++ )
{
if(i == 7)
{
Chip_GPIO_SetPinDIRInput(LPC_GPIO_PORT, 5, 12);
Chip_GPIOGP_SelectLowLevel (LPC_GPIOGROUP, 0, 5, 1 << 12);
Chip_GPIOGP_EnableGroupPins(LPC_GPIOGROUP, 0, 5, 1 << 12);
}
else
{
Chip_GPIO_SetPinDIRInput(LPC_GPIO_PORT, 2, i);
Chip_GPIOGP_SelectLowLevel (LPC_GPIOGROUP, 0, 2, 1 << i);
Chip_GPIOGP_EnableGroupPins(LPC_GPIOGROUP, 0, 2, 1 << i);
}
}
Chip_GPIOGP_SelectOrMode(LPC_GPIOGROUP, 0);
Chip_GPIOGP_SelectEdgeMode(LPC_GPIOGROUP, 0);
/* Enable Group GPIO interrupt 0 */
NVIC_EnableIRQ(GINT0_IRQn);
}
Hi Cleon Brown,
Thank you for your interest in NXP Semiconductor products and
the opportunity to serve you.
Actually, I'm not clear on the below statement, and I was wondering if you can explain and show me the testing result.
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------