1.28.5 External Interrupt Controller (EIC)
The External Interrupt Controller (EIC) forwards external interrupt sources from two PIO lines to the interrupt controller by providing some pre-processing capabilities (filtering, polarity inversion, edge detection, enable).
Using The Library
The interrupt properties of the EIC pins can be configured using MHC GUI. At run time the EIC PLIB APIs can be used to:
-
Register interrupt callbacks for each EIC pins
-
Enable/Disable EIC interrupts for each EIC pins
-
Change the detection polarity for each EIC pin
-
Freeze the configurations for each pins so that no further changes will be allowed.
Library Interface
External Interrupt Controller peripheral library provides the following interfaces:
Functions
Name | Description |
---|---|
EIC_Initialize | Initializes given instance of EIC peripheral |
EIC_InterruptEnable | Enable external interrupt on the specified pin |
EIC_InterruptDisable | Disable external interrupt on the specified pin |
EIC_CallbackRegister | Registers the function to be called when an interrupt condition has been sensed on the pin |
EIC_SetPolarity | Sets the polarity of detection |
EIC_FreezeConfiguration | Freeze EIC configuration |
Data types and constants
Name | Type | Description |
---|---|---|
EIC_PIN | Enum | Identifies the available EIC pins |
EIC_POLARITY | Enum | Identifies all possible EIC polarities |
EIC_CALLBACK | Typedef | Defines the data type and function signature of the EIC peripheral callback function |