Пример #1
0
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();
    }
}
Пример #2
0
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();
    }

}
Пример #3
0
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();
    }
}
Пример #4
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
}
Пример #5
0
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();
    } */
}