Parallel Input/Output (PIO) interrupt handler for SAM.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
Functions | |
void | pio_handler_process (Pio *p_pio, uint32_t ul_id) |
Process an interrupt request on the given PIO controller. More... | |
uint32_t | pio_handler_set (Pio *p_pio, uint32_t ul_id, uint32_t ul_mask, uint32_t ul_attr, void(*p_handler)(uint32_t, uint32_t)) |
Set an interrupt handler for the provided pins. More... | |
uint32_t | pio_handler_set_pin (uint32_t ul_pin, uint32_t ul_flag, void(*p_handler)(uint32_t, uint32_t)) |
void | pio_handler_set_priority (Pio *p_pio, IRQn_Type ul_irqn, uint32_t ul_priority) |
Initialize PIO interrupt management logic. More... | |
void pio_handler_process | ( | Pio * | p_pio, |
uint32_t | ul_id | ||
) |
Process an interrupt request on the given PIO controller.
p_pio | PIO controller base address. |
ul_id | PIO controller ID. |
References gs_interrupt_sources, s_interrupt_source::handler, s_interrupt_source::mask, MAX_INTERRUPT_SOURCES, pio_get_interrupt_mask(), and pio_get_interrupt_status().
uint32_t pio_handler_set | ( | Pio * | p_pio, |
uint32_t | ul_id, | ||
uint32_t | ul_mask, | ||
uint32_t | ul_attr, | ||
void(*)(uint32_t, uint32_t) | p_handler | ||
) |
Set an interrupt handler for the provided pins.
The provided handler will be called with the triggering pin as its parameter as soon as an interrupt is detected.
p_pio | PIO controller base address. |
ul_id | PIO ID. |
ul_mask | Pins (bit mask) to configure. |
ul_attr | Pins attribute to configure. |
p_handler | Interrupt handler function pointer. |
References s_interrupt_source::attr, gs_interrupt_sources, gs_ul_nb_sources, s_interrupt_source::handler, s_interrupt_source::id, s_interrupt_source::mask, MAX_INTERRUPT_SOURCES, and pio_configure_interrupt().
uint32_t pio_handler_set_pin | ( | uint32_t | ul_pin, |
uint32_t | ul_flag, | ||
void(*)(uint32_t, uint32_t) | p_handler | ||
) |
void pio_handler_set_priority | ( | Pio * | p_pio, |
IRQn_Type | ul_irqn, | ||
uint32_t | ul_priority | ||
) |
Initialize PIO interrupt management logic.
p_pio | PIO controller base address. |
ul_irqn | NVIC line number. |
ul_priority | PIO controller interrupts priority. |
References pio_disable_interrupt(), pio_enable_interrupt(), pio_get_interrupt_mask(), and pio_get_interrupt_status().