Function esp_idf_sys::gpio_isr_register
source ยท pub unsafe extern "C" fn gpio_isr_register(
fn_: Option<unsafe extern "C" fn(arg1: *mut c_void)>,
arg: *mut c_void,
intr_alloc_flags: c_int,
handle: *mut gpio_isr_handle_t,
) -> esp_err_t
Expand description
@brief Register GPIO interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.
This ISR function is called whenever any GPIO interrupt occurs. See the alternative gpio_install_isr_service() and gpio_isr_handler_add() API in order to have the driver support per-GPIO ISRs.
@param fn Interrupt handler function. @param arg Parameter for handler 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. @param handle Pointer to return handle. If non-NULL, a handle for the interrupt will be returned here.
\verbatim embed:rst:leading-asterisk
To disable or remove the ISR, pass the returned handle to the :doc:interrupt allocation functions </api-reference/system/intr_alloc>
.
\endverbatim
@return - ESP_OK Success ; - ESP_ERR_INVALID_ARG GPIO error - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags