interrupt low_priority #else #pragma code #pragma interruptlow InterruptHandlerLow #endif void InterruptHandlerLow() { // check to see if we have an interrupt on timer 1 if (PIR1bits.TMR1IF) { PIR1bits.TMR1IF = 0; //clear timer1 interrupt flag timer1_int_handler(); } // check to see if we have an interrupt on USART RXF if (PIR1bits.RCIF) { PIR1bits.RCIF = 0; //clear interrupt flag uart_recv_int_handler(); } // check to see if we have an interrupt on USART TXF if (PIR1bits.TX1IF && PIE1bits.TX1IE) { uart_send_int_handler(); } }
interrupt low_priority #else #pragma code #pragma interruptlow InterruptHandlerLow #endif void InterruptHandlerLow() { // check to see if we have an interrupt on USART RX // if (PIR1bits.RCIF) { // PIR1bits.RCIF = 0; //clear interrupt flag // uart_recv_int_handler(); // } // check to see if we have an interrupt on timer 1 if (PIR1bits.TMR1IF) { PIR1bits.TMR1IF = 0; //clear interrupt flag timer1_int_handler(); } if (PIR1bits.RCIF) { PIR1bits.RCIF = 0; //clear interrupt flag uart_recv_int_handler(); } // check to see if we have an interrupt on USART TX else if (PIR1bits.TXIF) { PIR1bits.TXIF = 0; // Can't clear this directly... uart_send_int_handler(); } }
interrupt low_priority #else #pragma code #pragma interruptlow InterruptHandlerLow #endif void InterruptHandlerLow() { // check to see if we have an interrupt on timer 1 if (PIR1bits.TMR1IF) { PIR1bits.TMR1IF = 0; //clear interrupt flag timer1_int_handler(); } // check to see if we have an interrupt on USART RX if (PIR1bits.RCIF) { PIR1bits.RCIF = 0; //clear interrupt flag uart_recv_int_handler(); } // Check to see if the interrupt flag is high, which means we are able // to write data. Also check if main has enabled the interrupt flag meaning // that we actually want to send data. if(PIR1bits.TX1IF && PIE1bits.TX1IE) { uart_send_int_handler(); } }
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 }
interrupt low_priority #else #pragma code #pragma interruptlow InterruptHandlerLow #endif void InterruptHandlerLow() { // check to see if we have an interrupt on timer 0 if (INTCONbits.TMR0IF) { INTCONbits.TMR0IF = 0; // clear this interrupt flag timer0_int_handler(); } // check if A/D conversion has ended if(PIR1bits.ADIF){ PIR1bits.ADIF=0; ADC_int_handler(); } // check to see if we have an interrupt on USART TX if (PIR1bits.TXIF) { PIR1bits.TXIF = 0; uart_send_int_handler(); } // check to see if we have an interrupt on USART RX if (PIR1bits.RCIF) { PIR1bits.RCIF = 0; //clear interrupt flag uart_recv_int_handler(); } // Change on PORTB if(INTCONbits.RBIF) { INTCONbits.RBIF = 0; // Rising edge on RB5 if(LATBbits.LB5 == 0 && PORTBbits.RB5 == 1) { encoder_int_handler(); } LATBbits.LB5 = PORTBbits.RB5; } /* // check to see if we have an interrupt on timer 1 if (PIR1bits.TMR1IF) { PIR1bits.TMR1IF = 0; //clear interrupt flag timer1_int_handler(); } */ }