stm32/rcc: port L4 to the "flattened" API like h5/h7.
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
|
||||
use defmt::*;
|
||||
use embassy_executor::Spawner;
|
||||
use embassy_stm32::rcc::{ClockSrc, PLLSource, PllMul, PllPreDiv, PllQDiv, PllRDiv};
|
||||
use embassy_stm32::rcc::{ClockSrc, PLLSource, Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv};
|
||||
use embassy_stm32::rng::Rng;
|
||||
use embassy_stm32::{bind_interrupts, peripherals, rng, Config};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
@ -16,14 +16,16 @@ bind_interrupts!(struct Irqs {
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner) {
|
||||
let mut config = Config::default();
|
||||
// 72Mhz clock (16 / 1 * 18 / 4)
|
||||
config.rcc.mux = ClockSrc::PLL(
|
||||
PLLSource::HSI16,
|
||||
PllRDiv::DIV4,
|
||||
PllPreDiv::DIV1,
|
||||
PllMul::MUL18,
|
||||
Some(PllQDiv::DIV6), // 48Mhz (16 / 1 * 18 / 6)
|
||||
);
|
||||
config.rcc.mux = ClockSrc::PLL;
|
||||
config.rcc.hsi16 = true;
|
||||
config.rcc.pll_src = PLLSource::HSI16;
|
||||
config.rcc.pll = Some(Pll {
|
||||
prediv: PllPreDiv::DIV1,
|
||||
mul: PllMul::MUL18,
|
||||
divp: None,
|
||||
divq: Some(PllQDiv::DIV6), // 48Mhz (16 / 1 * 18 / 6)
|
||||
divr: Some(PllRDiv::DIV4), // sysclk 72Mhz clock (16 / 1 * 18 / 4)
|
||||
});
|
||||
let p = embassy_stm32::init(config);
|
||||
|
||||
info!("Hello World!");
|
||||
|
@ -5,7 +5,7 @@
|
||||
use chrono::{NaiveDate, NaiveDateTime};
|
||||
use defmt::*;
|
||||
use embassy_executor::Spawner;
|
||||
use embassy_stm32::rcc::{ClockSrc, LsConfig, PLLSource, PllMul, PllPreDiv, PllRDiv};
|
||||
use embassy_stm32::rcc::{ClockSrc, LsConfig, PLLSource, Pll, PllMul, PllPreDiv, PllRDiv};
|
||||
use embassy_stm32::rtc::{Rtc, RtcConfig};
|
||||
use embassy_stm32::time::Hertz;
|
||||
use embassy_stm32::Config;
|
||||
@ -14,18 +14,20 @@ use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner) {
|
||||
let p = {
|
||||
let mut config = Config::default();
|
||||
config.rcc.mux = ClockSrc::PLL(
|
||||
PLLSource::HSE(Hertz::mhz(8)),
|
||||
PllRDiv::DIV2,
|
||||
PllPreDiv::DIV1,
|
||||
PllMul::MUL20,
|
||||
None,
|
||||
);
|
||||
config.rcc.ls = LsConfig::default_lse();
|
||||
embassy_stm32::init(config)
|
||||
};
|
||||
let mut config = Config::default();
|
||||
config.rcc.mux = ClockSrc::PLL;
|
||||
config.rcc.hse = Some(Hertz::mhz(8));
|
||||
config.rcc.pll_src = PLLSource::HSE;
|
||||
config.rcc.pll = Some(Pll {
|
||||
prediv: PllPreDiv::DIV1,
|
||||
mul: PllMul::MUL20,
|
||||
divp: None,
|
||||
divq: None,
|
||||
divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2)
|
||||
});
|
||||
config.rcc.ls = LsConfig::default_lse();
|
||||
let p = embassy_stm32::init(config);
|
||||
|
||||
info!("Hello World!");
|
||||
|
||||
let now = NaiveDate::from_ymd_opt(2020, 5, 15)
|
||||
|
@ -48,7 +48,7 @@ use embassy_net_adin1110::{self, Device, Runner, ADIN1110};
|
||||
use embedded_hal_bus::spi::ExclusiveDevice;
|
||||
use hal::gpio::Pull;
|
||||
use hal::i2c::Config as I2C_Config;
|
||||
use hal::rcc::{ClockSrc, PLLSource, PllMul, PllPreDiv, PllRDiv};
|
||||
use hal::rcc::{ClockSrc, PLLSource, Pll, PllMul, PllPreDiv, PllRDiv};
|
||||
use hal::spi::{Config as SPI_Config, Spi};
|
||||
use hal::time::Hertz;
|
||||
|
||||
@ -77,13 +77,16 @@ async fn main(spawner: Spawner) {
|
||||
|
||||
// 80Mhz clock (Source: 8 / SrcDiv: 1 * PLLMul 20 / ClkDiv 2)
|
||||
// 80MHz highest frequency for flash 0 wait.
|
||||
config.rcc.mux = ClockSrc::PLL(
|
||||
PLLSource::HSE(Hertz(8_000_000)),
|
||||
PllRDiv::DIV2,
|
||||
PllPreDiv::DIV1,
|
||||
PllMul::MUL20,
|
||||
None,
|
||||
);
|
||||
config.rcc.mux = ClockSrc::PLL;
|
||||
config.rcc.hse = Some(Hertz::mhz(8));
|
||||
config.rcc.pll_src = PLLSource::HSE;
|
||||
config.rcc.pll = Some(Pll {
|
||||
prediv: PllPreDiv::DIV1,
|
||||
mul: PllMul::MUL20,
|
||||
divp: None,
|
||||
divq: None,
|
||||
divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2)
|
||||
});
|
||||
config.rcc.hsi48 = true; // needed for rng
|
||||
|
||||
let dp = embassy_stm32::init(config);
|
||||
|
@ -23,8 +23,17 @@ async fn main(_spawner: Spawner) {
|
||||
info!("Hello World!");
|
||||
|
||||
let mut config = Config::default();
|
||||
config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PllRDiv::DIV2, PllPreDiv::DIV1, PllMul::MUL10, None);
|
||||
config.rcc.hsi48 = true;
|
||||
config.rcc.mux = ClockSrc::PLL;
|
||||
config.rcc.hsi16 = true;
|
||||
config.rcc.pll_src = PLLSource::HSI16;
|
||||
config.rcc.pll = Some(Pll {
|
||||
prediv: PllPreDiv::DIV1,
|
||||
mul: PllMul::MUL10,
|
||||
divp: None,
|
||||
divq: None,
|
||||
divr: Some(PllRDiv::DIV2), // sysclk 80Mhz (16 / 1 * 10 / 2)
|
||||
});
|
||||
|
||||
let p = embassy_stm32::init(config);
|
||||
|
||||
|
Reference in New Issue
Block a user