Struct stm32_hal2::clocks::Clocks [−][src]
pub struct Clocks {Show fields
pub input_src: InputSrc,
pub pllm: Pllm,
pub plln: u8,
pub pll_sai1_mul: u8,
pub pll_sai2_mul: u8,
pub pllr: Pllr,
pub hclk_prescaler: HclkPrescaler,
pub apb1_prescaler: ApbPrescaler,
pub apb2_prescaler: ApbPrescaler,
pub clk48_src: Clk48Src,
pub sai1_enabled: bool,
pub sai2_enabled: bool,
pub hse_bypass: bool,
pub security_system: bool,
pub hsi48_on: bool,
pub stop_wuck: StopWuck,
}Settings used to configure clocks.
Fields
input_src: InputSrcThe input source for the system and peripheral clocks. Eg HSE, HSI, PLL etc
pllm: Pllmplln: u8pll_sai1_mul: u8pll_sai2_mul: u8pllr: Pllrhclk_prescaler: HclkPrescalerThe value to divide SYSCLK by, to get systick and peripheral clocks. Also known as AHB divider
apb1_prescaler: ApbPrescalerThe divider of HCLK to get the APB1 peripheral clock
apb2_prescaler: ApbPrescalerThe divider of HCLK to get the APB2 peripheral clock
clk48_src: Clk48SrcThe input source for the 48Mhz clock used by USB.
sai1_enabled: boolsai2_enabled: boolhse_bypass: boolBypass the HSE output, for use with oscillators that don’t need it. Saves power, and frees up the pin for use as GPIO.
security_system: boolhsi48_on: boolEnable the HSI48. For L4, this is only applicable on L49X and L4Ax devices.
stop_wuck: StopWuckSelect the input source to use after waking up from stop mode. Eg HSI or MSI.
Implementations
impl Clocks[src]
impl Clocks[src]pub fn setup(&self, rcc: &mut RCC, flash: &mut FLASH) -> Result<(), SpeedError>[src]
Setup common and return a Valid status if the config is valid. Return
Invalid, and don’t setup if not.
https://docs.rs/stm32f3xx-hal/0.5.0/stm32f3xx_hal/rcc/struct.CFGR.html
Use the STM32CubeIDE Clock Configuration tab to help.
pub fn change_msi_speed(&mut self, range: MsiRange, rcc: &mut RCC)[src]
Use this to change the MSI speed. Run this only if your clock source is MSI. Ends in a state with MSI on at the new speed, and HSI off.
pub fn enable_msi_48(&self, rcc: &mut RCC)[src]
Enables MSI, and configures it at 48Mhz. This is useful when using it as the USB clock,
ie with clk48_src: Clk48Src::Msi. Don’t use this if using MSI for the input source or PLL source.
You may need to re-run this after exiting stop mode.