47 #define gpio_interrupt_isr GPIOIntHandler
50 static gpio_interrupt_handler_t handlers[NUM_IO_MAX];
55 uint8_t interrupts_disabled = ti_lib_int_master_disable();
58 ti_lib_gpio_event_clear(1 << ioid);
63 if(!interrupts_disabled) {
64 ti_lib_int_master_enable();
73 for(i = 0; i < NUM_IO_MAX; i++) {
77 ti_lib_int_enable(INT_EDGE_DETECT);
81 gpio_interrupt_isr(
void)
86 ENERGEST_ON(ENERGEST_TYPE_IRQ);
89 pin_mask = (HWREG(GPIO_BASE + GPIO_O_EVFLAGS31_0) &
GPIO_PIN_MASK);
92 HWREG(GPIO_BASE + GPIO_O_EVFLAGS31_0) = pin_mask;
95 for(i = 0; i < NUM_GPIO_PINS; i++) {
97 if((pin_mask & (1 << i)) && handlers[i] !=
NULL) {
102 ENERGEST_OFF(ENERGEST_TYPE_IRQ);
#define GPIO_PIN_MASK(PIN)
Converts a pin number to a pin mask.
Header file with macros which rename TI CC26xxware functions.
Header file for the energy estimation mechanism
Header file for the CC13xx/CC26xx GPIO interrupt management.
#define NULL
The null pointer.
Header file with declarations for the I/O Control module.
void gpio_interrupt_register_handler(uint8_t ioid, gpio_interrupt_handler_t f)
Register a GPIO interrupt handler.
void gpio_interrupt_init()
Initialise the GPIO interrupt handling module.