If any enabled and pending (possibly lower priority) interrupts are left, force the interrupt logic to reassert the interrupt pulse by setting the EDMA_TPCC_IEVAL[0] EVAL bit in the interrupt evaluation register.
The pseudo code is as follows:
- Enters ISR.
- Reads EDMA_TPCC_IPR / EDMA_TPCC_IPRH.
- For the condition that is set in EDMA_TPCC_IPR / EDMA_TPCC_IPRH:
- Service interrupt as the application requires.
- Clear the bit for serviced conditions (others may still be set, and other transfers may have resulted in returning the TCC to EDMA_TPCC after step 2).
- Reads EDMA_TPCC_IPR / EDMA_TPCC_IPRH prior to exiting the ISR:
- If EDMA_TPCC_IPR / EDMA_TPCC_IPRH is equal to 0, then exit the ISR.
- If EDMA_TPCC_IPR / EDMA_TPCC_IPRH is not equal to 0, then set EDMA_TPCC_IEVAL so that upon exit of ISR, a new interrupt triggers if any enabled interrupts are still pending.