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
Initialize 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)
Set the interrupt priority for GPIO interrupts.
§Panics
Panics if passed interrupt handler is invalid (e.g. has priority
None
)
§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.
Note that when using interrupt handlers registered by this function, or
by defining a #[no_mangle] unsafe extern "C" fn GPIO()
function, we do
not clear the interrupt status register or the interrupt enable
setting for you. Based on your use case, you need to do one of this
yourself:
- Disabling the interrupt enable setting for the GPIO pin allows you to
handle an event once per call to
listen()
. Using this method, theis_interrupt_set()
method will returntrue
if the interrupt is set even after your handler has finished running. - Clearing the interrupt status register allows you to handle an event
repeatedly after
listen()
is called. Using this method,is_interrupt_set()
will returnfalse
after your handler has finished running.
§Panics
Panics if passed interrupt handler is invalid (e.g. has priority
None
)
§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.