Install the GPIO driver's ETS_GPIO_INTR_SOURCE ISR handler service, which allows per-pin GPIO interrupt handlers. This function is incompatible with gpio_isr_register() - if that function is used, a single global ISR is registered for all GPIO interrupts. If this function is used, the ISR service provides a global GPIO ISR and individual pin handlers are registered via the gpio_isr_handler_add() function.
Flags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info.
Return value
- ESP_OK Success - ESP_ERR_NO_MEM No memory to install this service - ESP_ERR_INVALID_STATE ISR service already installed. - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags - ESP_ERR_INVALID_ARG GPIO error
Examples
gpio_install_isr_service() is referenced by 7 libraries and example projects: