I am a newbie and trying understand how high level interrupts are handled by a microcontroller. I am using a LPC1347 with Cortex M3 CPU. I understand how edge interrupts works but level interrupts has unexpected behaviours.
Until now I thought that a level interrupt is a notification that a device needs attention. As long as IRQ line is asserted we get an interrupt.
LPC1347 has different behaviours. Firstly I have to clear IRQ status which toggles the level type. For example if I set interrupt to high level and change the state of pin to high I get first interrupt, then I clear interrupt status and the interrupt type automatically toggles to the low so the next interrupt occurs when the state of pin toggles to the low. As a result I always have two interrupts; when the state of pin toggles from 0 to 1 and from 1 to 0.
Is this only a different concept of level interrupt handling or do I not understand it correctly?