Struct USB

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

Universal serial bus full-speed device interface

See peripheral structure

Implementations§

Source§

impl USB

Source

pub const PTR: *const RegisterBlock = {0x40005c00 as *const stm32f303::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 ep0r(&self) -> &EP0R

0x00 - endpoint 0 register

Source

pub fn ep1r(&self) -> &EP1R

0x04 - endpoint 1 register

Source

pub fn ep2r(&self) -> &EP2R

0x08 - endpoint 2 register

Source

pub fn ep3r(&self) -> &EP3R

0x0c - endpoint 3 register

Source

pub fn ep4r(&self) -> &EP4R

0x10 - endpoint 4 register

Source

pub fn ep5r(&self) -> &EP5R

0x14 - endpoint 5 register

Source

pub fn ep6r(&self) -> &EP6R

0x18 - endpoint 6 register

Source

pub fn ep7r(&self) -> &EP7R

0x1c - endpoint 7 register

Source

pub fn cntr(&self) -> &CNTR

0x40 - control register

Source

pub fn istr(&self) -> &ISTR

0x44 - interrupt status register

Source

pub fn fnr(&self) -> &FNR

0x48 - frame number register

Source

pub fn daddr(&self) -> &DADDR

0x4c - device address

Source

pub fn btable(&self) -> &BTABLE

0x50 - Buffer table address

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.