PIC32 Interrupts Overview
Last modified by Microchip on 2023/11/15 04:53
Contents
The Interrupt Controller module exists external to the CPU Execution Unit and prioritizes the interrupt events before presenting them to the CPU. The module includes the following features:
- Up to 256 interrupt sources
- Single and Multi-Vector mode operations
- Up to 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
- User-configurable shadow set based on priority level (this feature is not available on all devices; refer to the Interrupt Controller chapter in the specific device data sheet for availability)
- Software can generate any interrupt
Hardware Abstraction Model
The Interrupt Controller receives requests from multiple Interrupt Sources. The Interrupt Controller Configuration controls the overall operation of the interrupt controller. Not all microcontrollers support all the following features listed:
- Interrupt nesting configuration
- Edge selection of the external interrupts
- Vector mode selection
- Priority level configuration
- Current CPU interrupt and priority status information
Detailed Overview
The following pages provide detailed coverage of the PIC32 Exception processing hardware, as well as basic configuration and usage using the MPLAB® XC32 compiler C-language extensions:
PIC32MX Interrupt & Exception Mechanism
- Overview
- Operation
- Exception Types
- Usage
- Entry Points
- Control Registers
- Processor Initialization
- Interrupt Code Example in C
- Exception Code Example in C
PIC32MZ Interrupt & Exception Mechanism
- Overview
- Operation
- Exception Types
- Usage
- Entry Points
- Control Registers
- Processor Initialization
- Interrupt Code Example in C
- Exception Code Example in C