Struct USB

Source
pub struct USB { /* private fields */ }
Expand description

Universal serial bus full-speed host/device interface4

See peripheral structure

Implementations§

Source§

impl USB

Source

pub const PTR: *const RegisterBlock = {0x40005c00 as *const stm32g0b0::usb::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn chepr(&self, n: usize) -> &CHEPR

0x00..0x20 - USB endpoint/channel %s register

Source

pub fn chepr_iter(&self) -> impl Iterator<Item = &CHEPR>

Iterator for array of: 0x00..0x20 - USB endpoint/channel %s register

Source

pub fn chep0r(&self) -> &CHEPR

0x00 - USB endpoint/channel 0 register

Source

pub fn chep1r(&self) -> &CHEPR

0x04 - USB endpoint/channel 1 register

Source

pub fn chep2r(&self) -> &CHEPR

0x08 - USB endpoint/channel 2 register

Source

pub fn chep3r(&self) -> &CHEPR

0x0c - USB endpoint/channel 3 register

Source

pub fn chep4r(&self) -> &CHEPR

0x10 - USB endpoint/channel 4 register

Source

pub fn chep5r(&self) -> &CHEPR

0x14 - USB endpoint/channel 5 register

Source

pub fn chep6r(&self) -> &CHEPR

0x18 - USB endpoint/channel 6 register

Source

pub fn chep7r(&self) -> &CHEPR

0x1c - USB endpoint/channel 7 register

Source

pub fn cntr(&self) -> &CNTR

0x40 -

Source

pub fn istr(&self) -> &ISTR

0x44 - USB interrupt status register

Source

pub fn fnr(&self) -> &FNR

0x48 - USB frame number register

Source

pub fn daddr(&self) -> &DADDR

0x4c -

Source

pub fn lpmcsr(&self) -> &LPMCSR

0x54 -

Source

pub fn bcdr(&self) -> &BCDR

0x58 -

Trait Implementations§

Source§

impl Debug for USB

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Deref for USB

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for USB

Auto Trait Implementations§

§

impl Freeze for USB

§

impl RefUnwindSafe for USB

§

impl !Sync for USB

§

impl Unpin for USB

§

impl UnwindSafe for USB

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.