Skip to main content

Io

Struct Io 

Source
pub struct Io<'d> { /* private fields */ }
Available on crate feature 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>

Source

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.

Source

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.

Source

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, the is_interrupt_set() method returns true if 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() returns false after 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<'d> Debug for Io<'d>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
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.

Source§

fn set_interrupt_handler(&mut self, handler: InterruptHandler)

Registers an interrupt handler for the peripheral. Read more

Auto Trait Implementations§

§

impl<'d> !UnwindSafe for Io<'d>

§

impl<'d> Freeze for Io<'d>

§

impl<'d> RefUnwindSafe for Io<'d>

§

impl<'d> Send for Io<'d>

§

impl<'d> Sync for Io<'d>

§

impl<'d> Unpin for Io<'d>

§

impl<'d> UnsafeUnpin for Io<'d>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.