Function esp_idf_svc::hal::sys::gpio_install_isr_service

source ·
pub unsafe extern "C" fn gpio_install_isr_service(
    intr_alloc_flags: i32,
) -> i32
Expand description

@brief 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.

@param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info.

@return - 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