Struct rp2040_pac::XOSC
source · pub struct XOSC { /* private fields */ }
Expand description
Controls the crystal oscillator
Implementations§
source§impl XOSC
impl XOSC
sourcepub const PTR: *const RegisterBlock = {0x40024000 as *const xosc::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x40024000 as *const xosc::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 dormant(&self) -> &DORMANT
pub fn dormant(&self) -> &DORMANT
0x08 - Crystal Oscillator pause control
This is used to save power by pausing the XOSC
On power-up this field is initialised to WAKE
An invalid write will also select WAKE
WARNING: stop the PLLs before selecting dormant mode
WARNING: setup the irq before selecting dormant mode