Struct s2pac_ch32v103::USBD

source ·
pub struct USBD { /* private fields */ }
Expand description

Universal serial bus full-speed device interface

Implementations§

source§

impl USBD

source

pub const PTR: *const RegisterBlock = {0x40005c00 as *const usbd::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 USBD

source§

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

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

impl Deref for USBD

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl Send for USBD

Auto Trait Implementations§

§

impl RefUnwindSafe for USBD

§

impl !Sync for USBD

§

impl Unpin for USBD

§

impl UnwindSafe for USBD

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>,

§

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>,

§

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.