[][src]Struct lpc82x_hal::pmu::Handle

pub struct Handle { /* fields omitted */ }

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.

Methods

impl Handle[src]

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

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.

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

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.

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

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 Send for Handle

impl !Sync for Handle

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]