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
sourceimpl<P, I> Pclk<P, I>where
    P: PclkId,
    I: PclkSourceId,
 
impl<P, I> Pclk<P, I>where
    P: PclkId,
    I: PclkSourceId,
sourcepub fn enable<S>(token: PclkToken<P>, gclk: S) -> (Self, S::Inc)where
    S: Source<Id = I> + Increment,
 
pub fn enable<S>(token: PclkToken<P>, gclk: S) -> (Self, S::Inc)where
    S: Source<Id = I> + Increment,
Trait Implementations
sourceimpl<I: PclkSourceId> From<Pclk<Ac, I>> for AcClock
 
impl<I: PclkSourceId> From<Pclk<Ac, I>> for AcClock
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
sourceimpl<I: PclkSourceId> From<Pclk<Adc0, I>> for Adc0Clock
 
impl<I: PclkSourceId> From<Pclk<Adc0, I>> for Adc0Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<Adc1, I>> for Adc1Clock
 
impl<I: PclkSourceId> From<Pclk<Adc1, I>> for Adc1Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<CM4Trace, I>> for Cm4TraceClock
 
impl<I: PclkSourceId> From<Pclk<CM4Trace, I>> for Cm4TraceClock
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
sourceimpl<I: PclkSourceId> From<Pclk<Ccl, I>> for CclClock
 
impl<I: PclkSourceId> From<Pclk<Ccl, I>> for CclClock
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
sourceimpl<I: PclkSourceId> From<Pclk<Dac, I>> for DacClock
 
impl<I: PclkSourceId> From<Pclk<Dac, I>> for DacClock
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
sourceimpl<I: PclkSourceId> From<Pclk<Eic, I>> for EicClock
 
impl<I: PclkSourceId> From<Pclk<Eic, I>> for EicClock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys0, I>> for Evsys0Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys0, I>> for Evsys0Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys1, I>> for Evsys1Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys1, I>> for Evsys1Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys10, I>> for Evsys10Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys10, I>> for Evsys10Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys11, I>> for Evsys11Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys11, I>> for Evsys11Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys2, I>> for Evsys2Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys2, I>> for Evsys2Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys3, I>> for Evsys3Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys3, I>> for Evsys3Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys4, I>> for Evsys4Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys4, I>> for Evsys4Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys5, I>> for Evsys5Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys5, I>> for Evsys5Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys6, I>> for Evsys6Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys6, I>> for Evsys6Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys7, I>> for Evsys7Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys7, I>> for Evsys7Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys8, I>> for Evsys8Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys8, I>> for Evsys8Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<EvSys9, I>> for Evsys9Clock
 
impl<I: PclkSourceId> From<Pclk<EvSys9, I>> for Evsys9Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<FreqMMeasure, I>> for FreqmMsrClock
 
impl<I: PclkSourceId> From<Pclk<FreqMMeasure, I>> for FreqmMsrClock
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
sourcefn from(pclk: Pclk<FreqMMeasure, I>) -> Self
 
fn from(pclk: Pclk<FreqMMeasure, I>) -> Self
sourceimpl<I: PclkSourceId> From<Pclk<FreqMReference, I>> for FreqmRefClock
 
impl<I: PclkSourceId> From<Pclk<FreqMReference, I>> for FreqmRefClock
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
sourcefn from(pclk: Pclk<FreqMReference, I>) -> Self
 
fn from(pclk: Pclk<FreqMReference, I>) -> Self
sourceimpl<I: PclkSourceId> From<Pclk<PDec, I>> for PdecClock
 
impl<I: PclkSourceId> From<Pclk<PDec, I>> for PdecClock
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
sourceimpl<I: PclkSourceId> From<Pclk<SERCOM0, I>> for Sercom0CoreClock
 
impl<I: PclkSourceId> From<Pclk<SERCOM0, I>> for Sercom0CoreClock
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
sourceimpl<I: PclkSourceId> From<Pclk<SERCOM1, I>> for Sercom1CoreClock
 
impl<I: PclkSourceId> From<Pclk<SERCOM1, I>> for Sercom1CoreClock
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
sourceimpl<I: PclkSourceId> From<Pclk<SERCOM2, I>> for Sercom2CoreClock
 
impl<I: PclkSourceId> From<Pclk<SERCOM2, I>> for Sercom2CoreClock
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
sourceimpl<I: PclkSourceId> From<Pclk<SERCOM3, I>> for Sercom3CoreClock
 
impl<I: PclkSourceId> From<Pclk<SERCOM3, I>> for Sercom3CoreClock
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
sourceimpl<I: PclkSourceId> From<Pclk<SERCOM4, I>> for Sercom4CoreClock
 
impl<I: PclkSourceId> From<Pclk<SERCOM4, I>> for Sercom4CoreClock
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
sourceimpl<I: PclkSourceId> From<Pclk<SERCOM5, I>> for Sercom5CoreClock
 
impl<I: PclkSourceId> From<Pclk<SERCOM5, I>> for Sercom5CoreClock
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
sourceimpl<I: PclkSourceId> From<Pclk<Sdhc0, I>> for Sdhc0Clock
 
impl<I: PclkSourceId> From<Pclk<Sdhc0, I>> for Sdhc0Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<Tc0Tc1, I>> for Tc0Tc1Clock
 
impl<I: PclkSourceId> From<Pclk<Tc0Tc1, I>> for Tc0Tc1Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<Tc2Tc3, I>> for Tc2Tc3Clock
 
impl<I: PclkSourceId> From<Pclk<Tc2Tc3, I>> for Tc2Tc3Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<Tcc0Tcc1, I>> for Tcc0Tcc1Clock
 
impl<I: PclkSourceId> From<Pclk<Tcc0Tcc1, I>> for Tcc0Tcc1Clock
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
sourceimpl<I: PclkSourceId> From<Pclk<Tcc2Tcc3, I>> for Tcc2Tcc3Clock
 
impl<I: PclkSourceId> From<Pclk<Tcc2Tcc3, I>> for Tcc2Tcc3Clock
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