Hello,
That was helpful, even 5 years later.
I'm using multiple ADC channels on the LPC55xx. The ADC FIFO is read out when the ADC interrupt fires. I'm using the FIFO watermark interrupt (FWMIE0). Regarding interrupt status bits, I do not have to reset any flags in the ADC status register as they (e.g., RDY0) apparently get reset automatically as soon as the FIFO has been read out completely.
Today I changed the code from FWMIE0 to Trigger completion interrupt ("TCOMP_IE") and my ISR ran continously, as you observed. So to fix this, after reading out FIFO, I have to clear TCOMP_INT bit in the ADC status register by writing a 1 to this bit:
ADC0->STAT &= 1U << ADC_STAT_TCOMP_INT_SHIFT;
I wish NXP would put more effort, time and people to work on the documentation. I'm glad we have this community here.
Thanks
Daniel