Esempio n. 1
0
void YourLowPriorityISRCode()
{
	//Check	which interrupt	flag caused	the	interrupt.
	//Service the interrupt
	//Clear	the	interrupt flag
	//Etc.

	#if	TIMER2_INTERRUPT
		timer2_int_handler();
	#endif

}	//This return will be a	"retfie", since	this is	in a #pragma interruptlow section
Esempio n. 2
0
interrupt low_priority
#else
#pragma code
#pragma interruptlow InterruptHandlerLow
#endif
void InterruptHandlerLow() {
    
    #ifdef SENSOR_PIC
    if (PIR1bits.ADIF) {
        PIR1bits.ADIF = 0;
        adc_int_handler();
    }
    #endif //SENSOR_PIC

    // check to see if we have an interrupt on USART RX
    if (PIR1bits.RCIF) {
        PIR1bits.RCIF = 0; //clear interrupt flag

#if !defined(SENSOR_PIC) && !defined(MOTOR_PIC)
        if(wifly_setup){
            uart_recv_int_handler();
        }
        else{
#endif
            uart_recv_wifly_debug_handler();
#if !defined(SENSOR_PIC) && !defined(MOTOR_PIC)
        }
#endif
        
    }
    if (PIR1bits.TXIF)
    {
        PIR1bits.TXIF = 0; // clear interrupt flag
        if (PIE1bits.TXIE)
            uart_send_int_handler();
    }
#ifndef MOTOR_PIC
    if (PIR1bits.TMR1IF) {
        PIR1bits.TMR1IF = 0; //clear interrupt flag
        timer1_int_handler();
    }
#endif

#ifdef SENSOR_PIC
    if (PIR1bits.TMR2IF){
        PIR1bits.TMR2IF = 0; //Clear the interrupt flag
        timer2_int_handler();
    }
#endif
}