pub struct Io<'d> { /* private fields */ }unstable only.Expand description
General Purpose Input/Output driver.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Implementations§
Source§impl<'d> Io<'d>
impl<'d> Io<'d>
Sourcepub fn new(_io_mux: IO_MUX<'d>) -> Self
pub fn new(_io_mux: IO_MUX<'d>) -> Self
Initializes the I/O driver.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn set_interrupt_priority(&self, prio: Priority)
pub fn set_interrupt_priority(&self, prio: Priority)
Sets the interrupt priority and enables GPIO interrupts.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
pub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
Registers an interrupt handler for all GPIO pins.
When using interrupt handlers registered by this method, or by defining a
#[no_mangle] unsafe extern "C" fn GPIO() function, the interrupt status
register and the interrupt enable setting for the GPIO pin are not
cleared automatically. Based on the use case, do one of the following:
- Disabling the interrupt enable setting for the GPIO pin lets an event be handled once per
call to
listen(). Using this method, theis_interrupt_set()method returnstrueif the interrupt is set even after the handler has finished running. - Clearing the interrupt status register lets an event be handled repeatedly after
listen()is called. Using this method,is_interrupt_set()returnsfalseafter the handler has finished running.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Trait Implementations§
Source§impl InterruptConfigurable for Io<'_>
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
impl InterruptConfigurable for Io<'_>
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.