SAM External Interrupt Driver.
Copyright (c) 2012-2020 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
struct | extint_chan_conf |
External Interrupt Controller channel configuration structure. More... | |
struct | extint_events |
External Interrupt event enable/disable structure. More... | |
struct | extint_nmi_conf |
External Interrupt Controller NMI configuration structure. More... | |
Macros | |
#define | EIC_NUMBER_OF_INTERRUPTS 16 |
#define | EXTINT_CLK_GCLK 0 |
The EIC is clocked by GCLK_EIC. More... | |
#define | EXTINT_CLK_ULP32K 1 |
The EIC is clocked by CLK_ULP32K. More... | |
Typedefs | |
typedef void(* | extint_callback_t )(void) |
Type definition for an EXTINT module callback function. More... | |
Enumerations | |
enum | extint_detect { EXTINT_DETECT_NONE = 0, EXTINT_DETECT_RISING = 1, EXTINT_DETECT_FALLING = 2, EXTINT_DETECT_BOTH = 3, EXTINT_DETECT_HIGH = 4, EXTINT_DETECT_LOW = 5 } |
External interrupt edge detection configuration enum. More... | |
enum | extint_pull { EXTINT_PULL_UP = SYSTEM_PINMUX_PIN_PULL_UP, EXTINT_PULL_DOWN = SYSTEM_PINMUX_PIN_PULL_DOWN, EXTINT_PULL_NONE = SYSTEM_PINMUX_PIN_PULL_NONE } |
External interrupt internal pull configuration enum. More... | |
Functions | |
Event Management | |
void | extint_enable_events (struct extint_events *const events) |
Enables an External Interrupt event output. More... | |
void | extint_disable_events (struct extint_events *const events) |
Disables an External Interrupt event output. More... | |
Configuration and Initialization (Channel) | |
void | extint_chan_get_config_defaults (struct extint_chan_conf *const config) |
Initializes an External Interrupt channel configuration structure to defaults. More... | |
void | extint_chan_set_config (const uint8_t channel, const struct extint_chan_conf *const config) |
Writes an External Interrupt channel configuration to the hardware module. More... | |
Configuration and Initialization (NMI) | |
static void | extint_nmi_get_config_defaults (struct extint_nmi_conf *const config) |
Initializes an External Interrupt NMI channel configuration structure to defaults. More... | |
enum status_code | extint_nmi_set_config (const uint8_t nmi_channel, const struct extint_nmi_conf *const config) |
Writes an External Interrupt NMI channel configuration to the hardware module. More... | |
Detection testing and clearing (channel) | |
static bool | extint_chan_is_detected (const uint8_t channel) |
Retrieves the edge detection state of a configured channel. More... | |
static void | extint_chan_clear_detected (const uint8_t channel) |
Clears the edge detection state of a configured channel. More... | |
Detection Testing and Clearing (NMI) | |
static bool | extint_nmi_is_detected (const uint8_t nmi_channel) |
Retrieves the edge detection state of a configured NMI channel. More... | |
static void | extint_nmi_clear_detected (const uint8_t nmi_channel) |
Clears the edge detection state of a configured NMI channel. More... | |