User manual

Table Of Contents
144
mikoC PRO for PIC32
MikroElektronika
Interrupt Example
Here is a simple example of handling the interrupts from Timer1 (if no other interrupts are allowed):
void Timer1_interrupt() iv IVT_TIMER_1 ilevel 7 ics ICS_SRS {
T1IF_bit = 0; // Clear T1IF
LATB = ~ PORTB; // Invert PORTB
}
void main() {
AD1PCFG = 0xFFFF; // Initialize AN pins as digital
TRISB = 0; // initialize PORTB as output
LATB = 0xAAAA; // Initialize PORTB value
TMR1 = 0; // reset timer value to zero
PR1 = 65535; // Load period register
T1IP0_bit = 1; // set interrupt
T1IP1_bit = 1; // priority
T1IP2_bit = 1; // to 7
TCKPS0_bit = 1; // Set Timer Input Clock
TCKPS1_bit = 1; // Prescale value to 1:256
EnableInterrupts(); // Enable all interrupts
T1IE_bit = 1; // Enable Timer1 Interrupt
ON__T1CON_bit = 1; // Enable Timer1
}