#include <xc.h> #include <sys/attribs.h> /* Config bits */ #pragma config FSRSSEL = PRIORITY_7 /* Assign the SRS to level 7 priority handlers */ /* Define a Timer 2 ISR function at IPL level 7 that uses a shadow register set */ void __ISR (_TIMER_2_VECTOR, IPL7SRS) T2Interrupt(void) { // Do some useful work // Reset interrupt flag IFS0bits.T2IF = 0; } /* Application begins here */ int main(void) { // Initialize Timer 2 peripheral ... // Set Timer 2 interrupt priority to 7 IPC2bits.T2IP = 7; // Reset the Timer 2 interrupt flag IFS0bits.T2IF = 0; // Enable interrupts from Timer 2 IEC0bits.T2IE = 1; // Interrupt Controller INTCONSET = _INTCON_MVEC_MASK; /* enable interrupt controller for multi-vector mode */ __builtin_enable_interrupts(); /* atomic enable CP0 Status(IE) flag */ while(1) { mainTasks(); /* main application loop */ } }