コード例 #1
0
void interrupt INTERRUPT_InterruptManager (void)
{
   // interrupt handler
    if(PIE1bits.TXIE == 1 && PIR1bits.TXIF == 1)
    {
        EUSART_Transmit_ISR();
    }
    else if(PIE1bits.RCIE == 1 && PIR1bits.RCIF == 1)
    {
        EUSART_Receive_ISR();
    }
    else if(PIE1bits.TMR2IE == 1 && PIR1bits.TMR2IF == 1)
    {
        TMR2_ISR();
    }
    else if(INTCONbits.IOCIE == 1 && INTCONbits.IOCIF == 1)
    {
        PIN_MANAGER_IOC();
                
        // clear global interrupt-on-change flag
        INTCONbits.IOCIF = 0;
    }
    else
    {
        //Unhandled Interrupt
    }
}
コード例 #2
0
void interrupt INTERRUPT_InterruptManager (void)
{
   // interrupt handler
    if(PIE1bits.TMR1IE == 1 && PIR1bits.TMR1IF == 1)
    {
        TMR1_ISR();
        // Call Timer Handler
        TMRapp_Tick();      // Handle Every mS
    }
    else if( (PIE1bits.RCIE == 1) && (PIR1bits.RCIF == 1) )
    {
        USBapp_setrxByteFlag();
        EUSART_Receive_ISR();
    }
    else if( (PIE1bits.TXIE == 1) && (PIR1bits.TXIF == 1) )
    {
        EUSART_Transmit_ISR();
    }
    else if(PIE2bits.C1IE == 1 && PIR2bits.C1IF == 1)
    {
        CMP1_ISR();
    }
    else
    {
        //Unhandled Interrupt
        USBDeviceTasks(); // USB things
    }
}
コード例 #3
0
void interrupt INTERRUPT_InterruptManager (void)
{
    // interrupt handler
    if(INTCONbits.PEIE == 1 && PIE1bits.SSP1IE == 1 && PIR1bits.SSP1IF == 1)
    {
        I2C_ISR();
    }
    else if(INTCONbits.PEIE == 1 && PIE2bits.BCL1IE == 1 && PIR2bits.BCL1IF == 1)
    {
        I2C_BusCollisionISR();
    }
    else if(INTCONbits.PEIE == 1 && PIE1bits.TXIE == 1 && PIR1bits.TXIF == 1)
    {
        EUSART_Transmit_ISR();
    }
    else if(INTCONbits.PEIE == 1 && PIE1bits.RCIE == 1 && PIR1bits.RCIF == 1)
    {
        EUSART_Receive_ISR();
    }
    else if(INTCONbits.PEIE == 1 && PIE1bits.TMR2IE == 1 && PIR1bits.TMR2IF == 1)
    {
        TMR2_ISR();
    }
    else
    {
        //Unhandled Interrupt
    }
}
コード例 #4
0
void interrupt INTERRUPT_InterruptManager(void) {
    // interrupt handler
    if (PIE1bits.RCIE == 1 && PIR1bits.RCIF == 1) {
        EUSART_Receive_ISR();
    } else if (PIE1bits.TXIE == 1 && PIR1bits.TXIF == 1) {
        EUSART_Transmit_ISR();
    } else {
        //Unhandled Interrupt
    }
}
コード例 #5
0
void interrupt low_priority INTERRUPT_InterruptManagerLow(void) {
    // interrupt handler
    if (PIE1bits.TXIE == 1 && PIR1bits.TXIF == 1) {
        EUSART_Transmit_ISR();
    }
    if (PIE1bits.RCIE == 1 && PIR1bits.RCIF == 1) {
        EUSART_Receive_ISR();
    }
    if (INTCONbits.TMR0IE == 1 && INTCONbits.TMR0IF == 1) {
        TMR0_ISR();
    }
}