Interrupt Peripheral Library Interface

Note: Detailed descriptions for this library are available in the MPLAB® Harmony Documentation (found in the <harmony install directory>/doc folder).

General Configuration Functions

Name Description
PLIB_INT_AlternateVectorTableSelect Enables the use of the alternate vector table
PLIB_INT_Disable Disables the generation of interrupts to the CPU
PLIB_INT_DISIStatusGet Returns the status of the DISI instruction status
PLIB_INT_Enable Enables the generation of interrupts to the CPU
PLIB_INT_ExternalFallingEdgeSelect Selects the falling edge as the edge polarity of the external interrupt
PLIB_INT_ExternalRisingEdgeSelect Selects the rising edge as the edge polarity of the external interrupt
PLIB_INT_IsEnabled Identifies if interrupts are currently enabled or disabled at the top level
PLIB_INT_MultiVectorSelect Configures the Interrupt Controller for Multiple Vector mode
PLIB_INT_NestingDisable Disables interrupt nesting
PLIB_INT_NestingEnable Enables interrupt nesting
PLIB_INT_PeripheralsDisable Disables the generation of interrupts to the CPU by the peripherals
PLIB_INT_PeripheralsEnable Enables the generation of interrupts to the CPU by the peripherals
PLIB_INT_PriorityDisable Disables interrupt priority levels
PLIB_INT_PriorityEnable Enables interrupt priority levels
PLIB_INT_PriorityGet Returns the priority level of the latest interrupt presented to the CPU
PLIB_INT_PriorityHighDisable Disables the generation of high-priority interrupts to the CPU
PLIB_INT_PriorityHighEnable Enables the generation of high-priority interrupts to the CPU
PLIB_INT_PriorityLowDisable Disables the generation of low-priority interrupts to the CPU
PLIB_INT_PriorityLowEnable Enables generation of low-priority interrupts to the CPU
PLIB_INT_ProximityTimerDisable Disables the interrupt temporal-proximity timer
PLIB_INT_ProximityTimerEnable Enables the interrupt temporal-proximity timer and selects the priority levels that start the timer
PLIB_INT_SingleVectorSelect Configures the Interrupt Controller for Single Vector mode
PLIB_INT_SingleVectorShadowSetDisable Disables the Shadow Register Set in Single Vector mode
PLIB_INT_SingleVectorShadowSetEnable Enables the Shadow Register Set in Single Vector mode
PLIB_INT_StandardVectorTableSelect Enables the use of the standard vector table
PLIB_INT_SetState Restores the status of CPU interrupts based on the value passed into the function
PLIB_INT_ShadowRegisterAssign Assigns a shadow register set for an interrupt priority level
PLIB_INT_VariableVectorOffsetSet Sets the offset specific to an interrupt source number

Interrupt Source Control Functions

Name Description
PLIB_INT_SourceDisable Disables the interrupt source
PLIB_INT_SourceEnable Enables the interrupt source. This section provides information on initialization and interrupt source setup and handling.
PLIB_INT_SourceFlagClear Clears the status of the interrupt flag for the selected source
PLIB_INT_SourceFlagGet Returns the status of the interrupt flag for the selected source
PLIB_INT_SourceFlagSet Sets the status of the interrupt flag for the selected source
PLIB_INT_SourceIsEnabled Gets the enable state of the interrupt source
PLIB_INT_VectorPriorityGet Gets the priority of the interrupt vector
PLIB_INT_VectorPrioritySet Sets the priority of the interrupt vector
PLIB_INT_VectorSubPriorityGet Gets the sub-priority of the interrupt vector
PLIB_INT_VectorSubPrioritySet Sets the sub-priority of the interrupt vector

Other Status and Control Functions

Name Description
PLIB_INT_CPUCurrentPriorityLevelGet Gets the interrupt priority level at which the CPU is currently operating
PLIB_INT_ProximityTimerGet Returns the value used by the temporal proximity timer as a reload value when the temporal proximity timer is triggered by an interrupt event
PLIB_INT_ProximityTimerSet Sets the temporal proximity timer reload value. This value is used to reload the proximity timer after it has been triggered by an interrupt event
PLIB_INT_TrapSourceFlagClear Clears the flag for the selected trap
PLIB_INT_TrapSourceFlagGet Returns the status of the flag for the selected trap
PLIB_INT_VectorGet Returns the interrupt vector that is presented to the CPU
PLIB_INT_GetStateAndDisable Disables the generation of interrupts to the CPU
PLIB_INT_ShadowRegisterGet Gets the shadow register set assigned for an interrupt priority level
PLIB_INT_VariableVectorOffsetGet Gets the offset specific to an interrupt source number

Feature Existence Functions

Name Description
PLIB_INT_ExistsAlternateVectorTable Identifies whether the AlternateVectorTable feature exists on the INT module
PLIB_INT_ExistsCPUCurrentPriorityLevel Identifies whether the CPUCurrentPriorityLevel feature exists on the INT module
PLIB_INT_ExistsEnableControl Identifies whether the EnableControl feature exists on the INT module
PLIB_INT_ExistsExternalINTEdgeSelect Identifies whether the ExternalINTEdgeSelect feature exists on the INT module
PLIB_INT_ExistsHighPriority Identifies whether the HighPriority feature exists on the INT module
PLIB_INT_ExistsINTCPUPriority Identifies whether the INTCPUPriority feature exists on the INT module
PLIB_INT_ExistsINTCPUVector Identifies whether the INTCPUVector feature exists on the INT module
PLIB_INT_ExistsINTNesting Identifies whether the INTNesting feature exists on the INT module
PLIB_INT_ExistsLowPriority Identifies whether the LowPriority feature exists on the INT module
PLIB_INT_ExistsPeripheralControl Identifies whether the PeripheralControl feature exists on the INT module
PLIB_INT_ExistsPriority Identifies whether the Priority feature exists on the INT module
PLIB_INT_ExistsProximityTimerControl Identifies whether the ProximityTimerControl feature exists on the INT module
PLIB_INT_ExistsProximityTimerEnable Identifies whether the ProximityTimerEnable feature exists on the INT module
PLIB_INT_ExistsSingleVectorShadowSet Identifies whether the SingleVectorShadowSet feature exists on the INT module
PLIB_INT_ExistsSourceControl Identifies whether the SourceControl feature exists on the INT module
PLIB_INT_ExistsSourceFlag Identifies whether the SourceFlag feature exists on the INT module
PLIB_INT_ExistsTrapSource Identifies whether the TrapSource feature exists on the INT module
PLIB_INT_ExistsVectorPriority Identifies whether the VectorPriority feature exists on the INT module
PLIB_INT_ExistsVectorSelect Identifies whether the VectorSelect feature exists on the INT module
PLIB_INT_ExistsShadowRegisterAssign Identifies whether the ShadowRegisterAssign feature exists on the INT module
PLIB_INT_ExistsVariableOffset Identifies whether the VariableOffset feature exists on the INT module
PLIB_INT_ExistsVectorBaseAddressSet Identifies whether the VectorBaseAddressSet feature exists on the INT module

Data Types and Constants

Name Description
INT_EXTERNAL_SOURCES Lists the possible external sources that can cause an interrupt to occur.
INT_PRIORITY_LEVEL Lists the possible interrupt priority levels.
INT_SOURCE Lists the possible sources that can cause an interrupt to occur.
INT_SUBPRIORITY_LEVEL Lists the possible interrupt sub priority levels.
INT_TRAP_SOURCE Lists the names of the trap or exception sources.
INT_VECTOR Lists the possible interrupt vectors.
INT_STATE_GLOBAL Data type defining the global interrupt state.
© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.