41 } GPIOINT_CallbackDesc_t;
54 static void GPIOINT_IRQDispatcher(uint32_t iflags);
95 gpioCallbacks[pin] = callbackPtr;
114 static void GPIOINT_IRQDispatcher(uint32_t iflags)
125 iflags &= ~(1 << irqIdx);
127 callback = gpioCallbacks[irqIdx];
142 void GPIO_EVEN_IRQHandler(
void)
152 GPIOINT_IRQDispatcher(iflags);
162 void GPIO_ODD_IRQHandler(
void)
172 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.
void GPIOINT_CallbackRegister(uint8_t pin, GPIOINT_IrqCallbackPtr_t callbackPtr)
Registers user callback for given pin number.
General purpose utilities.
#define CORE_ATOMIC_SECTION(yourcode)
General Purpose IO (GPIO) peripheral API.
Core interrupt handling API.
void(* GPIOINT_IrqCallbackPtr_t)(uint8_t pin)
GPIO interrupt callback function pointer.
__STATIC_INLINE uint32_t SL_CTZ(uint32_t value)
Count trailing number of zeros. Use CLZ instruction if available.
void GPIOINT_Init(void)
Initialization of GPIOINT module.