Hi,
I'm using a MKL26Z128VLH4 (I'm using KSDK 2.2 and MCUXpresso 10.0) in a application where I have multiple peripherals working in a interrupt based fashion and I have a copuple of questions:
1. When multiple peripherals operating in interrupt mode is it necessary to set-up interrupt priorities by using NVIC?
NVIC_SetPriority ()
2. After looking at the examples for various peripherals I see that in several peripherals the source of the interrupt is not cleared during the ISR, such as UART example \boards\frdmkl26z\driver_examples\uart\interrupt. Is that kind of usage correct? I thought that interrupt source needs to be cleared prior to exiting the ISR to avoid having false re-entry. Or is reading back the status register somehow automatically clears pending interrupt source flags?
So, for instance, during the PIT interrupt is the following piece of code correct? Or should I do a read on status before clearing the flag? I'm a bit confused on general guidelines for correctly exiting the ISRs.
void PIT_IRQHandler (void) {
PIT_ClearStatusFlags (PIT, kPIT_Chnl_1, kPIT_TimerFlag);
PIT_StopTimer (PIT, kPIT_Chnl_1);
}