41 } GPIOINT_CallbackDesc_t;
54 static void GPIOINT_IRQDispatcher(uint32_t iflags);
96 gpioCallbacks[pin] = callbackPtr;
116 static void GPIOINT_IRQDispatcher(uint32_t iflags)
127 iflags &= ~(1 << irqIdx);
129 callback = gpioCallbacks[irqIdx];
144 void GPIO_EVEN_IRQHandler(
void)
154 GPIOINT_IRQDispatcher(iflags);
164 void GPIO_ODD_IRQHandler(
void)
174 GPIOINT_IRQDispatcher(iflags);
Emlib peripheral API "assert" implementation.
__STATIC_INLINE uint32_t GPIO_IntGetEnabled(void)
Get enabled and pending GPIO interrupt flags. Useful for handling more interrupt sources in the same ...
__STATIC_INLINE void GPIO_IntClear(uint32_t flags)
Clear one or more pending GPIO interrupts.
__STATIC_INLINE uint32_t INT_Enable(void)
Enable interrupts.
void GPIOINT_CallbackRegister(uint8_t pin, GPIOINT_IrqCallbackPtr_t callbackPtr)
Registers user callback for given pin number.
Emlib general purpose utilities.
__STATIC_INLINE uint32_t EFM32_CTZ(uint32_t value)
Count trailing number of zero's.
Interrupt enable/disable unit API.
General Purpose IO (GPIO) peripheral API.
void(* GPIOINT_IrqCallbackPtr_t)(uint8_t pin)
GPIO interrupt callback function pointer.
void GPIOINT_Init(void)
Initialization of GPIOINT module.
__STATIC_INLINE uint32_t INT_Disable(void)
Disable interrupts.