Handle

Struct Handle 

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

Handle to the PMU peripheral

This handle to the PMU peripheral provides access to the main part of the PMU API. It is also required by other parts of the API to synchronize access the the underlying registers, wherever this is required.

Please refer to the module documentation for more information about the PMU.

Implementations§

Source§

impl Handle

Source

pub fn enter_sleep_mode(&mut self, scb: &mut SCB)

Enter sleep mode

The microcontroller will wake up from sleep mode, if an NVIC-enabled interrupt occurs. See user manual, section 6.7.4.3.

Source

pub unsafe fn enter_deep_sleep_mode(&mut self, scb: &mut SCB)

Enter deep-sleep mode

The microcontroller will wake up from deep-sleep mode, if an NVIC-enabled interrupt occurs. See user manual, section 6.7.5.3.

§Limitations

According to the user manual, section 6.7.5.2, the IRC must be selected as the main clock before entering deep-sleep mode.

If you intend to wake up from this mode again, you need to configure the STARTERP0 and STARTERP1 registers of the SYSCON appropriately. See user manual, section 6.5.1.

§Safety

The configuration of various peripherals after wake-up is controlled by the PDAWAKECFG register. If the configuration in that register doesn’t match the peripheral states in the HAL API, you can confuse the API into believing that peripherals have a different state than they actually have which can lead to all kinds of adverse consequences.

Please make sure that the peripheral states configured in PDAWAKECFG match the peripheral states as tracked by the API before calling this method.

Source

pub unsafe fn enter_power_down_mode(&mut self, scb: &mut SCB)

Enter power-down mode

The microcontroller will wake up from power-down mode, if an NVIC-enabled interrupt occurs. See user manual, section 6.7.6.3.

§Limitations

According to the user manual, section 6.7.6.2, the IRC must be selected as the main clock before entering deep-sleep mode.

If you intend to wake up from this mode again, you need to configure the STARTERP0 and STARTERP1 registers of the SYSCON appropriately. See user manual, section 6.5.1.

§Safety

The configuration of various peripherals after wake-up is controlled by the PDAWAKECFG register. If the configuration in that register doesn’t match the peripheral states in this API, you can confuse the API into believing that peripherals have a different state than they actually have which can lead to all kinds of adverse consequences.

Please make sure that the peripheral states configured in PDAWAKECFG match the peripheral states as tracked by the API before calling this method.

Auto Trait Implementations§

§

impl Freeze for Handle

§

impl RefUnwindSafe for Handle

§

impl Send for Handle

§

impl !Sync for Handle

§

impl Unpin for Handle

§

impl UnwindSafe for Handle

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

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.