UartRegisters

Struct UartRegisters 

Source
#[repr(C)]
pub struct UartRegisters { pub fifo: u32, pub control: Control, pub status: Status, }
Expand description

Describes the UART’s registers

Use the MmioUartRegisters type to access a particular UART at a particular address.

Fields§

§fifo: u32

Data FIFO

  • Read here to get a byte from the FIFO
  • Write here to put a byte into the FIFO
§control: Control

Control Register

Adjust various UART settings

§status: Status

Status Register

Read-only UART status

Implementations§

Source§

impl UartRegisters

Source

pub const unsafe fn new_mmio_at(addr: usize) -> MmioUartRegisters<'static>

Create a new handle to this peripheral given an address.

§Safety

See the safety notes for Self::new_mmio.

Source

pub const unsafe fn new_mmio( ptr: *mut UartRegisters, ) -> MmioUartRegisters<'static>

Create a new handle to this peripheral.

§Safety

The pointer given must have suitable alignment, and point to an object which matches the layout given by the structure pointed to.

If you create multiple instances of this handle at the same time, you are responsible for ensuring that there are no read-modify-write races on any of the registers.

The core::marker::Send trait is implemented for the MMIO handle. However, there are cases where this implementation might be incorrect, for example if an MMIO handle was created for a core-local private address.

In that case, it it is recommended to un-implement Send. on the register block structure.

Auto Trait Implementations§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.