[−][src]Struct metro_m0::clock::GenericClockController
GenericClockController
encapsulates the GCLK hardware.
It provides a type safe way to configure the system clocks.
Initializing the GenericClockController
instance configures
the system to run at 48Mhz by setting gclk1 as a 32khz source
and feeding it into the DFLL48 hardware which in turn drives
gclk0 at 48Mhz.
Methods
impl GenericClockController
[src]
pub fn with_internal_32kosc(
gclk: GCLK,
pm: &mut PM,
sysctrl: &mut SYSCTRL,
nvmctrl: &mut NVMCTRL
) -> GenericClockController
[src]
gclk: GCLK,
pm: &mut PM,
sysctrl: &mut SYSCTRL,
nvmctrl: &mut NVMCTRL
) -> GenericClockController
Reset the clock controller, configure the system to run at 48Mhz and reset various clock dividers.
pub fn with_external_32kosc(
gclk: GCLK,
pm: &mut PM,
sysctrl: &mut SYSCTRL,
nvmctrl: &mut NVMCTRL
) -> GenericClockController
[src]
gclk: GCLK,
pm: &mut PM,
sysctrl: &mut SYSCTRL,
nvmctrl: &mut NVMCTRL
) -> GenericClockController
Reset the clock controller, configure the system to run at 48Mhz and reset various clock dividers.
pub fn gclk0(&mut self) -> GClock
[src]
Returns a GClock
for gclk0, the system clock generator at 48Mhz
pub fn gclk1(&mut self) -> GClock
[src]
Returns a GClock
for gclk1, the 32Khz oscillator.
pub fn get_gclk(&mut self, gclk: GENR) -> Option<GClock>
[src]
Returns the GClock
for the specified clock generator.
If that clock generator has not yet been configured,
returns None.
pub fn configure_gclk_divider_and_source(
&mut self,
gclk: GENR,
divider: u16,
src: SRCR,
improve_duty_cycle: bool
) -> Option<GClock>
[src]
&mut self,
gclk: GENR,
divider: u16,
src: SRCR,
improve_duty_cycle: bool
) -> Option<GClock>
Configures a clock generator with the specified divider and
source.
divider
is a linear divider to be applied to the clock
source. While the hardware also supports an exponential divider,
this function doesn't expose that functionality at this time.
improve_duty_cycle
is a boolean that, when set to true, enables
a 5o/50 duty cycle for odd divider values.
Returns a GClock
for the configured clock generator.
Returns None
if the clock generator has already been configured.
impl GenericClockController
[src]
pub fn tcc2_tc3(&mut self, generator: &GClock) -> Option<Tcc2Tc3Clock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn tc4_tc5(&mut self, generator: &GClock) -> Option<Tc4Tc5Clock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn tc6_tc7(&mut self, generator: &GClock) -> Option<Tc6Tc7Clock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn sercom0_core(&mut self, generator: &GClock) -> Option<Sercom0CoreClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn sercom1_core(&mut self, generator: &GClock) -> Option<Sercom1CoreClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn sercom2_core(&mut self, generator: &GClock) -> Option<Sercom2CoreClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn sercom3_core(&mut self, generator: &GClock) -> Option<Sercom3CoreClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn sercom4_core(&mut self, generator: &GClock) -> Option<Sercom4CoreClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn sercom5_core(&mut self, generator: &GClock) -> Option<Sercom5CoreClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
pub fn usb(&mut self, generator: &GClock) -> Option<UsbClock>
[src]
Configure the clock for peripheral(s) that match the name
of this function to use the specific clock generator.
The GClock
parameter may be one of default clocks
return from gclk0()
, gclk1()
or a clock configured
by the host application using the configure_gclk_divider_and_source
method.
Returns a typed token that proves that the clock has been configured;
the peripheral initialization code will typically require that this
clock token be passed in to ensure that the clock has been initialized
appropriately.
Returns None
is the specified generic clock has already been
configured.
Auto Trait Implementations
impl Send for GenericClockController
impl !Sync for GenericClockController
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,