[][src]Module gemma_m0::clock

Configuring the system clock sources. You will typically need to create an instance of GenericClockController before you can set up most of the peripherals on the atsamd21 device. The other types in this module are used to enforce at compile time that the peripherals have been correctly configured.

Structs

ClockParams

Helper type for computing effective frequency given a source clock frequency and a desired frequency.

GClock

Represents a configured clock generator. Can be converted into the effective clock frequency. Its primary purpose is to be passed in to methods such as GenericClockController::tcc2_tc3 to configure the clock for a peripheral.

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.

Sercom0CoreClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Sercom1CoreClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Sercom2CoreClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Sercom3CoreClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Sercom4CoreClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Sercom5CoreClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Tc4Tc5Clock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Tc6Tc7Clock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Tcc2Tc3Clock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

UsbClock

A typed token that indicates that the clock for the peripheral(s) with the matching name has been configured. The effective clock frequency is available via the freq method, or by converting the object into a Hertz instance. The peripheral initialization code will typically require passing in this object to prove at compile time that the clock has been correctly initialized.

Constants

OSC32K_FREQ

The frequency of the 32Khz source.

OSC48M_FREQ

The frequency of the 48Mhz source.

Type Definitions

ClockGenId
ClockId
ClockSource