5.5.3 Interrupts with Vector Table

Interrupt Manager with Interrupt Vector Table (IVT)

5.5.3.1 Introduction

The Interrupt Manager handles and prioritizes the interrupt requests from the different peripheral modules. It also provides APIs for users to control how global, peripheral, and external interrupts will be serviced. This Interrupt Manager module features a Interrupt Vector Table (IVT) which assigns a unique vector address for each interrupt source.

5.5.3.2 Supported Device Families

PIC18F-Q40 PIC18F-Q41 PIC18F-Q43
PIC18F-Q83 PIC18F-Q84

5.5.3.3 Required header files

#include "mcc_generated_files/system/interrupt.h"

5.5.3.4 Module Documentation

5.5.3.4.1 INTERRUPT MANAGER

Driver Version

Interrupt Manager Driver Version 2.12
Definitions
  • #define INTERRUPT_GlobalInterruptHighEnable() (INTCON0bits.GIE = 1)

    This macro will enable high priority global interrupts.

  • #define INTERRUPT_GlobalInterruptHighDisable() (INTCON0bits.GIE = 0)

    This macro will disable high priority global interrupts.

  • #define INTERRUPT_GlobalInterruptHighStatus() (INTCON0bits.GIE)

    This macro will return the global interrupt enable high bit status.

  • #define INTERRUPT_GlobalInterruptLowEnable() (INTCON0bits.GIEL = 1)

    This macro will enable low priority global interrupts.

  • #define INTERRUPT_GlobalInterruptLowDisable() (INTCON0bits.GIEL = 0)

    This macro will disable low priority global interrupts.

  • #define INTERRUPT_GlobalInterruptLowStatus() (INTCON0bits.GIEL)

    This macro will return the global interrupt enable low bit status.

  • #define EXT_INT0_InterruptFlagClear() (PIR1bits.INT0IF = 0)

    This routine clears the interrupt flag for the external interrupt, INT0.

  • #define EXT_INT0_InterruptDisable() (PIE1bits.INT0IE = 0)

    This routine clears the interrupt enable for the external interrupt, INT0, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

  • #define EXT_INT0_InterruptEnable() (PIE1bits.INT0IE = 1)

    This routine sets the interrupt enable for the external interrupt, INT0, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

  • #define EXT_INT0_risingEdgeSet() (INTCON0bits.INT0EDG = 1)

    This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

  • #define EXT_INT0_fallingEdgeSet() (INTCON0bits.INT0EDG = 0)

    This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

  • #define EXT_INT1_InterruptFlagClear() (PIR6bits.INT1IF = 0)

    This routine clears the interrupt flag for the external interrupt, INT1.

  • #define EXT_INT1_InterruptDisable() (PIE6bits.INT1IE = 0)

    This routine clears the interrupt enable for the external interrupt, INT1, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

  • #define EXT_INT1_InterruptEnable() (PIE6bits.INT1IE = 1)

    This routine sets the interrupt enable for the external interrupt, INT1, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

  • #define EXT_INT1_risingEdgeSet() (INTCON0bits.INT1EDG = 1)

    This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

  • #define EXT_INT1_fallingEdgeSet() (INTCON0bits.INT1EDG = 0)

    This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

  • #define EXT_INT2_InterruptFlagClear() (PIR10bits.INT2IF = 0)

    This routine clears the interrupt flag for the external interrupt, INT2.

  • #define EXT_INT2_InterruptDisable() (PIE10bits.INT2IE = 0)

    This routine clears the interrupt enable for the external interrupt, INT2, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

  • #define EXT_INT2_InterruptEnable() (PIE10bits.INT2IE = 1)

    This routine sets the interrupt enable for the external interrupt, INT2, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

  • #define EXT_INT2_risingEdgeSet() (INTCON0bits.INT2EDG = 1)

    This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

  • #define EXT_INT2_fallingEdgeSet() (INTCON0bits.INT2EDG = 0)

    This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

Functions
  • void __interrupt (irq(INT0), base(8))

    This ISR will execute whenever the signal on the INT0 pin will transition to the preconfigured state.

  • void __interrupt (irq(INT1), base(8))

    This ISR will execute whenever the signal on the INT1 pin will transition to the preconfigured state.

  • void __interrupt (irq(INT2), base(8))

    This ISR will execute whenever the signal on the INT2 pin will transition to the preconfigured state.

  • void INTERRUPT_Initialize (void)

    Initializes Peripheral Interrupt priorities; Enables/disables priority vectors; and, Initializes External Interrupt.

  • void INT0_CallBack (void)

    Allows for a specific callback function to be called in the INT0 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT0_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT0 - INT0 at application runtime.

  • void INT0_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

  • void INT1_CallBack (void)

    Allows for a specific callback function to be called in the INT1 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT1_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT1 - INT1 at application runtime.

  • void INT1_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

  • void INT2_CallBack (void)

    Allows for a specific callback function to be called in the INT2 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT2_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT2 - INT2 at application runtime.

  • void INT2_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Variables
  • void(* INT0_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

  • void(* INT1_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

  • void(* INT2_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Definition Documentation

EXT_INT0_fallingEdgeSet

#define EXT_INT0_fallingEdgeSet( ) (INTCON0bits.INT0EDG = 0)

This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

Parameters:
void
Returns:

void

EXT_INT0_InterruptDisable

#define EXT_INT0_InterruptDisable( ) (PIE1bits.INT0IE = 0)

This routine clears the interrupt enable for the external interrupt, INT0, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

Parameters:
void
Returns:

void

EXT_INT0_InterruptEnable

#define EXT_INT0_InterruptEnable( ) (PIE1bits.INT0IE = 1)

This routine sets the interrupt enable for the external interrupt, INT0, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

Parameters:
void
Returns:

void

EXT_INT0_InterruptFlagClear

#define EXT_INT0_InterruptFlagClear( ) (PIR1bits.INT0IF = 0)

This routine clears the interrupt flag for the external interrupt, INT0.

Parameters:
void
Returns:

void

EXT_INT0_risingEdgeSet

#define EXT_INT0_risingEdgeSet( ) (INTCON0bits.INT0EDG = 1)

This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

Parameters:
void
Returns:

void

EXT_INT1_fallingEdgeSet

#define EXT_INT1_fallingEdgeSet( ) (INTCON0bits.INT1EDG = 0)

This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

Parameters:
void
Returns:

void

EXT_INT1_InterruptDisable

#define EXT_INT1_InterruptDisable( ) (PIE6bits.INT1IE = 0)

This routine clears the interrupt enable for the external interrupt, INT1, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

Parameters:
void
Returns:

void

EXT_INT1_InterruptEnable

#define EXT_INT1_InterruptEnable( ) (PIE6bits.INT1IE = 1)

This routine sets the interrupt enable for the external interrupt, INT1, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

Parameters:
void
Returns:

void

EXT_INT1_InterruptFlagClear

#define EXT_INT1_InterruptFlagClear( ) (PIR6bits.INT1IF = 0)

This routine clears the interrupt flag for the external interrupt, INT1.

Parameters:
void
Returns:

void

EXT_INT1_risingEdgeSet

#define EXT_INT1_risingEdgeSet( ) (INTCON0bits.INT1EDG = 1)

This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

Parameters:
void
Returns:

void

EXT_INT2_fallingEdgeSet

#define EXT_INT2_fallingEdgeSet( ) (INTCON0bits.INT2EDG = 0)

This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

Parameters:
void
Returns:

void

EXT_INT2_InterruptDisable

#define EXT_INT2_InterruptDisable( ) (PIE10bits.INT2IE = 0)

This routine clears the interrupt enable for the external interrupt, INT2, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

Parameters:
void
Returns:

void

EXT_INT2_InterruptEnable

#define EXT_INT2_InterruptEnable( ) (PIE10bits.INT2IE = 1)

This routine sets the interrupt enable for the external interrupt, INT2, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

Parameters:
void
Returns:

void

EXT_INT2_InterruptFlagClear

#define EXT_INT2_InterruptFlagClear( ) (PIR10bits.INT2IF = 0)

This routine clears the interrupt flag for the external interrupt, INT2.

Parameters:
void
Returns:

void

EXT_INT2_risingEdgeSet

#define EXT_INT2_risingEdgeSet( ) (INTCON0bits.INT2EDG = 1)

This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

Parameters:
void
Returns:

void

INTERRUPT_GlobalInterruptHighDisable

#define INTERRUPT_GlobalInterruptHighDisable( ) (INTCON0bits.GIE = 0)

This macro will disable high priority global interrupts.

Parameters:
void
Returns:

void

INTERRUPT_GlobalInterruptHighEnable

#define INTERRUPT_GlobalInterruptHighEnable( ) (INTCON0bits.GIE = 1)

This macro will enable high priority global interrupts.

Parameters:
void
Returns:

void

INTERRUPT_GlobalInterruptHighStatus

#define INTERRUPT_GlobalInterruptHighStatus( ) (INTCON0bits.GIE)

This macro will return the global interrupt enable high bit status.

Parameters:
void
Return values:
0

- Global Interrupt Disabled

1

- Global Interrupt Enabled

INTERRUPT_GlobalInterruptLowDisable

#define INTERRUPT_GlobalInterruptLowDisable( ) (INTCON0bits.GIEL = 0)

This macro will disable low priority global interrupts.

Parameters:
void
Returns:

void

INTERRUPT_GlobalInterruptLowEnable

#define INTERRUPT_GlobalInterruptLowEnable( ) (INTCON0bits.GIEL = 1)

This macro will enable low priority global interrupts.

Parameters:
void
Returns:

void

INTERRUPT_GlobalInterruptLowStatus

#define INTERRUPT_GlobalInterruptLowStatus( ) (INTCON0bits.GIEL)

This macro will return the global interrupt enable low bit status.

Parameters:
void
Return values:
0

- Global Interrupt Disabled

1

- Global Interrupt Enabled

Function Documentation

__interrupt()[1/3]

void __interrupt (irq(INT0) , base(8) )

This ISR will execute whenever the signal on the INT0 pin will transition to the preconfigured state.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

__interrupt()[2/3]

void __interrupt (irq(INT1) , base(8) )

This ISR will execute whenever the signal on the INT1 pin will transition to the preconfigured state.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

__interrupt()[3/3]

void __interrupt (irq(INT2) , base(8) )

This ISR will execute whenever the signal on the INT2 pin will transition to the preconfigured state.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT0_CallBack()

void INT0_CallBack (void )

Allows for a specific callback function to be called in the INT0 ISR and allows for a non-specific interrupt handler to be called at runtime.

Section: External Interrupt Handlers

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT0_DefaultInterruptHandler()

void INT0_DefaultInterruptHandler (void )

This is the default interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT0_SetInterruptHandler()

void INT0_SetInterruptHandler (void(*)(void) InterruptHandler)

Allows selecting an interrupt handler for EXT_INT0 - INT0 at application runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
(*InterruptHandler)(void)

- InterruptHandler function pointer

Returns:

void

INT1_CallBack()

void INT1_CallBack (void )

Allows for a specific callback function to be called in the INT1 ISR and allows for a non-specific interrupt handler to be called at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT1_DefaultInterruptHandler()

void INT1_DefaultInterruptHandler (void )

This is the default interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT1_SetInterruptHandler()

void INT1_SetInterruptHandler (void(*)(void) InterruptHandler)

Allows selecting an interrupt handler for EXT_INT1 - INT1 at application runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
(*InterruptHandler)(void)

- InterruptHandler function pointer

Returns:

void

INT2_CallBack()

void INT2_CallBack (void )

Allows for a specific callback function to be called in the INT2 ISR and allows for a non-specific interrupt handler to be called at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT2_DefaultInterruptHandler()

void INT2_DefaultInterruptHandler (void )

This is the default interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT2_SetInterruptHandler()

void INT2_SetInterruptHandler (void(*)(void) InterruptHandler)

Allows selecting an interrupt handler for EXT_INT2 - INT2 at application runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
(*InterruptHandler)(void)

- InterruptHandler function pointer

Returns:

void

INTERRUPT_Initialize()

void INTERRUPT_Initialize (void )

Initializes Peripheral Interrupt priorities; Enables/disables priority vectors; and, Initializes External Interrupt.

Parameters:
void
Returns:

void

Variable Documentation

INT0_InterruptHandler

void(* INT0_InterruptHandler) (void)

This is the dynamic interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT1_InterruptHandler

void(* INT1_InterruptHandler) (void)

This is the dynamic interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

INT2_InterruptHandler

void(* INT2_InterruptHandler) (void)

This is the dynamic interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Precondition:

Interrupt Manager is initialized.

Parameters:
void
Returns:

void

5.5.3.5 File Documentation

5.5.3.5.1 source/interrupt.c File Reference

This file contains the driver code for Interrupt Manager.

#include "../../system/interrupt.h"
#include "../../system/system.h"
#include <stdbool.h>

Functions

  • void INTERRUPT_Initialize (void)

    Initializes Peripheral Interrupt priorities; Enables/disables priority vectors; and, Initializes External Interrupt.

  • void __interrupt (irq(default), base(8))

  • void __interrupt (irq(INT0), base(8))

    This ISR will execute whenever the signal on the INT0 pin will transition to the preconfigured state.

  • void INT0_CallBack (void)

    Allows for a specific callback function to be called in the INT0 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT0_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT0 - INT0 at application runtime.

  • void INT0_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

  • void __interrupt (irq(INT1), base(8))

    This ISR will execute whenever the signal on the INT1 pin will transition to the preconfigured state.

  • void INT1_CallBack (void)

    Allows for a specific callback function to be called in the INT1 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT1_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT1 - INT1 at application runtime.

  • void INT1_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

  • void __interrupt (irq(INT2), base(8))

    This ISR will execute whenever the signal on the INT2 pin will transition to the preconfigured state.

  • void INT2_CallBack (void)

    Allows for a specific callback function to be called in the INT2 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT2_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT2 - INT2 at application runtime.

  • void INT2_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Variables

  • void(* INT0_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

  • void(* INT1_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

  • void(* INT2_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Detailed Description

This file contains the driver code for Interrupt Manager.

Interrupt Manager Generated Driver File

Version: Interrupt Manager Driver Version 2.12

5.5.3.5.2 source/interrupt.h File Reference

Functions

  • void INTERRUPT_Initialize (void)

    Initializes Peripheral Interrupt priorities; Enables/disables priority vectors; and, Initializes External Interrupt.

  • void INT0_CallBack (void)

    Allows for a specific callback function to be called in the INT0 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT0_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT0 - INT0 at application runtime.

  • void INT0_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

  • void INT1_CallBack (void)

    Allows for a specific callback function to be called in the INT1 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT1_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT1 - INT1 at application runtime.

  • void INT1_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

  • void INT2_CallBack (void)

    Allows for a specific callback function to be called in the INT2 ISR and allows for a non-specific interrupt handler to be called at runtime.

  • void INT2_SetInterruptHandler (void(*InterruptHandler)(void))

    Allows selecting an interrupt handler for EXT_INT2 - INT2 at application runtime.

  • void INT2_DefaultInterruptHandler (void)

    This is the default interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Macros

  • #define INTERRUPT_GlobalInterruptHighEnable() (INTCON0bits.GIE = 1)

    This macro will enable high priority global interrupts.

  • #define INTERRUPT_GlobalInterruptHighDisable() (INTCON0bits.GIE = 0)

    This macro will disable high priority global interrupts.

  • #define INTERRUPT_GlobalInterruptHighStatus() (INTCON0bits.GIE)

    This macro will return the global interrupt enable high bit status.

  • #define INTERRUPT_GlobalInterruptLowEnable() (INTCON0bits.GIEL = 1)

    This macro will enable low priority global interrupts.

  • #define INTERRUPT_GlobalInterruptLowDisable() (INTCON0bits.GIEL = 0)

    This macro will disable low priority global interrupts.

  • #define INTERRUPT_GlobalInterruptLowStatus() (INTCON0bits.GIEL)

    This macro will return the global interrupt enable low bit status.

  • #define EXT_INT0_InterruptFlagClear() (PIR1bits.INT0IF = 0)

    This routine clears the interrupt flag for the external interrupt, INT0.

  • #define EXT_INT0_InterruptDisable() (PIE1bits.INT0IE = 0)

    This routine clears the interrupt enable for the external interrupt, INT0, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

  • #define EXT_INT0_InterruptEnable() (PIE1bits.INT0IE = 1)

    This routine sets the interrupt enable for the external interrupt, INT0, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

  • #define EXT_INT0_risingEdgeSet() (INTCON0bits.INT0EDG = 1)

    This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

  • #define EXT_INT0_fallingEdgeSet() (INTCON0bits.INT0EDG = 0)

    This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

  • #define EXT_INT1_InterruptFlagClear() (PIR6bits.INT1IF = 0)

    This routine clears the interrupt flag for the external interrupt, INT1.

  • #define EXT_INT1_InterruptDisable() (PIE6bits.INT1IE = 0)

    This routine clears the interrupt enable for the external interrupt, INT1, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

  • #define EXT_INT1_InterruptEnable() (PIE6bits.INT1IE = 1)

    This routine sets the interrupt enable for the external interrupt, INT1, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

  • #define EXT_INT1_risingEdgeSet() (INTCON0bits.INT1EDG = 1)

    This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

  • #define EXT_INT1_fallingEdgeSet() (INTCON0bits.INT1EDG = 0)

    This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

  • #define EXT_INT2_InterruptFlagClear() (PIR10bits.INT2IF = 0)

    This routine clears the interrupt flag for the external interrupt, INT2.

  • #define EXT_INT2_InterruptDisable() (PIE10bits.INT2IE = 0)

    This routine clears the interrupt enable for the external interrupt, INT2, and thereafter external interrupts on this pin will not be serviced by the interrupt handler.

  • #define EXT_INT2_InterruptEnable() (PIE10bits.INT2IE = 1)

    This routine sets the interrupt enable for the external interrupt, INT2, and thereafter external interrupts on this pin will be serviced by the interrupt handler.

  • #define EXT_INT2_risingEdgeSet() (INTCON0bits.INT2EDG = 1)

    This routine set the edge detect of the extern interrupt to positive edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a low to high level.

  • #define EXT_INT2_fallingEdgeSet() (INTCON0bits.INT2EDG = 0)

    This routine set the edge detect of the extern interrupt to negative edge, and thereafter interrupt flag will be set when the external interrupt pins level transitions from a high to low level.

Variables

  • void(* INT0_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT0 ISR is executed and allows any function to be registered at runtime.

  • void(* INT1_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT1 ISR is executed and allows any function to be registered at runtime.

  • void(* INT2_InterruptHandler )(void)

    This is the dynamic interrupt handler which is called every time the INT2 ISR is executed and allows any function to be registered at runtime.

Detailed Description

Interrupt Manager Generated Driver API Header File