2.41 Enhanced Vectored Interrupt Controller (EVIC)

The PIC32 devices generate interrupt requests in response to interrupt events from peripheral modules. The Interrupt Controller module exists outside of the CPU and prioritizes the interrupt events before presenting them to the CPU.

The Interrupt Controller module includes the following features:

  • Up to 213 interrupt sources and vectors with dedicated programmable offsets, eliminating the need for redirection

  • Single and multi-vector mode operations

  • Five external interrupts with edge polarity control

  • Interrupt proximity timer

  • Seven user-selectable priority levels for each vector

  • Four user-selectable sub-priority levels within each priority

  • Seven shadow register sets that can be used for any priority level, eliminating software context switch and reducing interrupt latency

  • Software can generate any interrupt

Library Interface

Enhanced Vectored Interrupt Controller peripheral library provides the following interfaces:

Functions

NameDescription
EVIC_InitializeConfigures and initializes the interrupt subsystem
EVIC_SourceEnableEnables the interrupt source
EVIC_SourceDisableDisables the interrupt source
EVIC_SourceIsEnabledGets the enable state of the interrupt source
EVIC_SourceStatusGetReturns the status of the interrupt flag for the selected source
EVIC_SourceStatusSetSets the status of the interrupt flag for the selected source
EVIC_SourceStatusClearClears the status of the interrupt flag for the selected source
EVIC_ExternalInterruptCallbackRegisterAllows application to register callback for every external interrupt pin
EVIC_ExternalInterruptEnableEnables external interrupt on selected external interrupt pins
EVIC_ExternalInterruptDisableDisables external interrupt on selected external interrupt pins

Data types and constants

NameTypeDescription
INT_SOURCEEnumIdentifies interrupt sources
EXTERNAL_INT_PINEnumIdentifies the active external interrupt pins
EXTERNAL_INT_PIN_CALLBACKTypedefPointer to a external Pin-Event handler function
Note: Not all APIs maybe implemented. See the specific device family section for available APIs.