Hi all
I'm wondering if the delivered example code in SWPrioritizedDefaultIsr.c is correct. (Taken from C2000ware, V1.00.04.00).
As example I take TIMER1_ISR:
#if (INT13PL != 0)
__interrupt void TIMER1_ISR(void) // INT13 or CPU-Timer1
{
IER |= MINT13; // Set "global" priority
EINT;
//
// Insert ISR Code here.......
//
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
__asm (" ESTOP0");
for(;;);
}
#endif
Setting the global priority with IER |=MINT13 does not clear any previous set bit of possible lower priority interrupt.
For lower INT we see (example ADCA1_ISR).
IER |= M_INT1;
IER &= MINT1;
Is there a reason why in INT13, INT14, (INT15, INT16) the example code is not the same (with OR and AND).
Examples are same for 'device_support' 2833x, 2837xD, 2837xS, 2807x.
Thank you for clarification!
Best regards
Roger
