Struct rp2040_pac::USBCTRL_DPRAM
source · pub struct USBCTRL_DPRAM { /* private fields */ }
Expand description
DPRAM layout for USB device.
Implementations§
source§impl USBCTRL_DPRAM
impl USBCTRL_DPRAM
sourcepub const PTR: *const RegisterBlock = {0x50100000 as *const usbctrl_dpram::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x50100000 as *const usbctrl_dpram::RegisterBlock}
Pointer to the register block
sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
sourcepub unsafe fn steal() -> Self
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>§
sourcepub fn setup_packet_low(&self) -> &SETUP_PACKET_LOW
pub fn setup_packet_low(&self) -> &SETUP_PACKET_LOW
0x00 - Bytes 0-3 of the SETUP packet from the host.
sourcepub fn setup_packet_high(&self) -> &SETUP_PACKET_HIGH
pub fn setup_packet_high(&self) -> &SETUP_PACKET_HIGH
0x04 - Bytes 4-7 of the setup packet from the host.
sourcepub fn ep_control(&self, n: usize) -> &EP_CONTROL
pub fn ep_control(&self, n: usize) -> &EP_CONTROL
0x08..0x80 - -
sourcepub fn ep_control_iter(&self) -> impl Iterator<Item = &EP_CONTROL>
pub fn ep_control_iter(&self) -> impl Iterator<Item = &EP_CONTROL>
Iterator for array of: 0x08..0x80 - -
sourcepub fn ep_buffer_control(&self, n: usize) -> &EP_BUFFER_CONTROL
pub fn ep_buffer_control(&self, n: usize) -> &EP_BUFFER_CONTROL
0x80..0x100 - -
sourcepub fn ep_buffer_control_iter(&self) -> impl Iterator<Item = &EP_BUFFER_CONTROL>
pub fn ep_buffer_control_iter(&self) -> impl Iterator<Item = &EP_BUFFER_CONTROL>
Iterator for array of: 0x80..0x100 - -
sourcepub fn epx_control(&self) -> &EPX_CONTROL
pub fn epx_control(&self) -> &EPX_CONTROL
0x100 - EPx Control (Host-mode only!)