pub struct Pclk<P, I>where
    P: PclkId,
    I: PclkSourceId,
{ /* private fields */ }
Expand description

Peripheral channel clock for a given peripheral

Peripheral channel clocks connect generic clock generators (Gclks) to various peripherals. Pclks usually act as leaves in the clock tree, except when they feed the DFLL and DPLL peripherals.

The type parameter P is a PclkId that determines which of the 48 peripherals this Pclk feeds. The type parameter I represents the Id type for the EnabledGclk acting as the Pclk’s Source. It must be one of the valid PclkSourceIds, which is simply a trait alias for GclkId. See the clock module documentation for more detail on Id types.

Pclks cannot act as general purpose clock Sources; rather, they map 1:1 with corresponding peripherals. Thus, enabled Pclks do not need a compile-time counter of consumer clocks, so they are not wrapped with Enabled. Enabled Pclks are created directly from PclkTokens with Pclk::enable.

See the module-level documentation for an example.

Implementations

Create and enable a Pclk

Creating a Pclk immediately enables the corresponding peripheral channel clock. It also Increments the Source’s Enabled counter.

Note that the Source will always be an EnabledGclk.

Disable and destroy a Pclk

Consume the Pclk, release the PclkToken, and Decrement the EnabledGclk’s counter

Return the Pclk frequency

Trait Implementations

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

V2 to V1 compatibility layer that allows to convert V2 Pclk constructs into corresponding V1 *Clock types. Thus, user can manage V1 clocking compatible peripherals while using V2 clocking API

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.