diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-02-12 02:17:33 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2024-02-12 02:19:31 +0100 |
| commit | 0dc5e6d3e4646fd8f67840f32a756d55ac36569a (patch) | |
| tree | f98bf4bdc7fd28748b7700c6c6702b276d1dc06a /examples/stm32f334 | |
| parent | edb3989b577a15bed3d0434f25edc20b6f24bf52 (diff) | |
stm32/rcc: port F3 RCC to new API
See #2515
Diffstat (limited to 'examples/stm32f334')
| -rw-r--r-- | examples/stm32f334/src/bin/adc.rs | 24 | ||||
| -rw-r--r-- | examples/stm32f334/src/bin/hello.rs | 5 | ||||
| -rw-r--r-- | examples/stm32f334/src/bin/opamp.rs | 24 | ||||
| -rw-r--r-- | examples/stm32f334/src/bin/pwm.rs | 27 |
4 files changed, 54 insertions, 26 deletions
diff --git a/examples/stm32f334/src/bin/adc.rs b/examples/stm32f334/src/bin/adc.rs index 063ee9dac..a9fb7f1a6 100644 --- a/examples/stm32f334/src/bin/adc.rs +++ b/examples/stm32f334/src/bin/adc.rs | |||
| @@ -5,7 +5,6 @@ use defmt::info; | |||
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::adc::{Adc, SampleTime}; | 6 | use embassy_stm32::adc::{Adc, SampleTime}; |
| 7 | use embassy_stm32::peripherals::ADC1; | 7 | use embassy_stm32::peripherals::ADC1; |
| 8 | use embassy_stm32::rcc::{AdcClockSource, Adcpres}; | ||
| 9 | use embassy_stm32::time::mhz; | 8 | use embassy_stm32::time::mhz; |
| 10 | use embassy_stm32::{adc, bind_interrupts, Config}; | 9 | use embassy_stm32::{adc, bind_interrupts, Config}; |
| 11 | use embassy_time::{Delay, Timer}; | 10 | use embassy_time::{Delay, Timer}; |
| @@ -18,12 +17,23 @@ bind_interrupts!(struct Irqs { | |||
| 18 | #[embassy_executor::main] | 17 | #[embassy_executor::main] |
| 19 | async fn main(_spawner: Spawner) -> ! { | 18 | async fn main(_spawner: Spawner) -> ! { |
| 20 | let mut config = Config::default(); | 19 | let mut config = Config::default(); |
| 21 | config.rcc.sysclk = Some(mhz(64)); | 20 | { |
| 22 | config.rcc.hclk = Some(mhz(64)); | 21 | use embassy_stm32::rcc::*; |
| 23 | config.rcc.pclk1 = Some(mhz(32)); | 22 | config.rcc.hse = Some(Hse { |
| 24 | config.rcc.pclk2 = Some(mhz(64)); | 23 | freq: mhz(8), |
| 25 | config.rcc.adc = Some(AdcClockSource::Pll(Adcpres::DIV1)); | 24 | mode: HseMode::Bypass, |
| 26 | 25 | }); | |
| 26 | config.rcc.pll = Some(Pll { | ||
| 27 | src: PllSource::HSE, | ||
| 28 | prediv: PllPreDiv::DIV1, | ||
| 29 | mul: PllMul::MUL9, | ||
| 30 | }); | ||
| 31 | config.rcc.sys = Sysclk::PLL1_P; | ||
| 32 | config.rcc.ahb_pre = AHBPrescaler::DIV1; | ||
| 33 | config.rcc.apb1_pre = APBPrescaler::DIV2; | ||
| 34 | config.rcc.apb2_pre = APBPrescaler::DIV1; | ||
| 35 | config.rcc.adc = AdcClockSource::Pll(AdcPllPrescaler::DIV1); | ||
| 36 | } | ||
| 27 | let mut p = embassy_stm32::init(config); | 37 | let mut p = embassy_stm32::init(config); |
| 28 | 38 | ||
| 29 | info!("create adc..."); | 39 | info!("create adc..."); |
diff --git a/examples/stm32f334/src/bin/hello.rs b/examples/stm32f334/src/bin/hello.rs index fd54da53d..3c295612c 100644 --- a/examples/stm32f334/src/bin/hello.rs +++ b/examples/stm32f334/src/bin/hello.rs | |||
| @@ -3,16 +3,13 @@ | |||
| 3 | 3 | ||
| 4 | use defmt::info; | 4 | use defmt::info; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::time::Hertz; | ||
| 7 | use embassy_stm32::Config; | 6 | use embassy_stm32::Config; |
| 8 | use embassy_time::Timer; | 7 | use embassy_time::Timer; |
| 9 | use {defmt_rtt as _, panic_probe as _}; | 8 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 9 | ||
| 11 | #[embassy_executor::main] | 10 | #[embassy_executor::main] |
| 12 | async fn main(_spawner: Spawner) -> ! { | 11 | async fn main(_spawner: Spawner) -> ! { |
| 13 | let mut config = Config::default(); | 12 | let config = Config::default(); |
| 14 | config.rcc.hse = Some(Hertz(8_000_000)); | ||
| 15 | config.rcc.sysclk = Some(Hertz(16_000_000)); | ||
| 16 | let _p = embassy_stm32::init(config); | 13 | let _p = embassy_stm32::init(config); |
| 17 | 14 | ||
| 18 | loop { | 15 | loop { |
diff --git a/examples/stm32f334/src/bin/opamp.rs b/examples/stm32f334/src/bin/opamp.rs index 850a0e335..6f25191be 100644 --- a/examples/stm32f334/src/bin/opamp.rs +++ b/examples/stm32f334/src/bin/opamp.rs | |||
| @@ -6,7 +6,6 @@ use embassy_executor::Spawner; | |||
| 6 | use embassy_stm32::adc::{Adc, SampleTime}; | 6 | use embassy_stm32::adc::{Adc, SampleTime}; |
| 7 | use embassy_stm32::opamp::{OpAmp, OpAmpGain}; | 7 | use embassy_stm32::opamp::{OpAmp, OpAmpGain}; |
| 8 | use embassy_stm32::peripherals::ADC2; | 8 | use embassy_stm32::peripherals::ADC2; |
| 9 | use embassy_stm32::rcc::{AdcClockSource, Adcpres}; | ||
| 10 | use embassy_stm32::time::mhz; | 9 | use embassy_stm32::time::mhz; |
| 11 | use embassy_stm32::{adc, bind_interrupts, Config}; | 10 | use embassy_stm32::{adc, bind_interrupts, Config}; |
| 12 | use embassy_time::{Delay, Timer}; | 11 | use embassy_time::{Delay, Timer}; |
| @@ -19,12 +18,23 @@ bind_interrupts!(struct Irqs { | |||
| 19 | #[embassy_executor::main] | 18 | #[embassy_executor::main] |
| 20 | async fn main(_spawner: Spawner) -> ! { | 19 | async fn main(_spawner: Spawner) -> ! { |
| 21 | let mut config = Config::default(); | 20 | let mut config = Config::default(); |
| 22 | config.rcc.sysclk = Some(mhz(64)); | 21 | { |
| 23 | config.rcc.hclk = Some(mhz(64)); | 22 | use embassy_stm32::rcc::*; |
| 24 | config.rcc.pclk1 = Some(mhz(32)); | 23 | config.rcc.hse = Some(Hse { |
| 25 | config.rcc.pclk2 = Some(mhz(64)); | 24 | freq: mhz(8), |
| 26 | config.rcc.adc = Some(AdcClockSource::Pll(Adcpres::DIV1)); | 25 | mode: HseMode::Bypass, |
| 27 | 26 | }); | |
| 27 | config.rcc.pll = Some(Pll { | ||
| 28 | src: PllSource::HSE, | ||
| 29 | prediv: PllPreDiv::DIV1, | ||
| 30 | mul: PllMul::MUL9, | ||
| 31 | }); | ||
| 32 | config.rcc.sys = Sysclk::PLL1_P; | ||
| 33 | config.rcc.ahb_pre = AHBPrescaler::DIV1; | ||
| 34 | config.rcc.apb1_pre = APBPrescaler::DIV2; | ||
| 35 | config.rcc.apb2_pre = APBPrescaler::DIV1; | ||
| 36 | config.rcc.adc = AdcClockSource::Pll(AdcPllPrescaler::DIV1); | ||
| 37 | } | ||
| 28 | let mut p = embassy_stm32::init(config); | 38 | let mut p = embassy_stm32::init(config); |
| 29 | 39 | ||
| 30 | info!("create adc..."); | 40 | info!("create adc..."); |
diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs index c149cad92..7fc1ea926 100644 --- a/examples/stm32f334/src/bin/pwm.rs +++ b/examples/stm32f334/src/bin/pwm.rs | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::hrtim::*; | 6 | use embassy_stm32::hrtim::*; |
| 7 | use embassy_stm32::rcc::HrtimClockSource; | ||
| 8 | use embassy_stm32::time::{khz, mhz}; | 7 | use embassy_stm32::time::{khz, mhz}; |
| 9 | use embassy_stm32::Config; | 8 | use embassy_stm32::Config; |
| 10 | use embassy_time::Timer; | 9 | use embassy_time::Timer; |
| @@ -12,14 +11,26 @@ use {defmt_rtt as _, panic_probe as _}; | |||
| 12 | 11 | ||
| 13 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 14 | async fn main(_spawner: Spawner) { | 13 | async fn main(_spawner: Spawner) { |
| 15 | let mut config: Config = Default::default(); | 14 | let mut config = Config::default(); |
| 16 | config.rcc.sysclk = Some(mhz(64)); | 15 | { |
| 17 | config.rcc.hclk = Some(mhz(64)); | 16 | use embassy_stm32::rcc::*; |
| 18 | config.rcc.pclk1 = Some(mhz(32)); | 17 | config.rcc.hse = Some(Hse { |
| 19 | config.rcc.pclk2 = Some(mhz(64)); | 18 | freq: mhz(8), |
| 20 | config.rcc.hrtim = HrtimClockSource::PllClk; | 19 | mode: HseMode::Bypass, |
| 21 | 20 | }); | |
| 21 | config.rcc.pll = Some(Pll { | ||
| 22 | src: PllSource::HSE, | ||
| 23 | prediv: PllPreDiv::DIV1, | ||
| 24 | mul: PllMul::MUL9, | ||
| 25 | }); | ||
| 26 | config.rcc.sys = Sysclk::PLL1_P; | ||
| 27 | config.rcc.ahb_pre = AHBPrescaler::DIV1; | ||
| 28 | config.rcc.apb1_pre = APBPrescaler::DIV2; | ||
| 29 | config.rcc.apb2_pre = APBPrescaler::DIV1; | ||
| 30 | config.rcc.hrtim = HrtimClockSource::PllClk; | ||
| 31 | } | ||
| 22 | let p = embassy_stm32::init(config); | 32 | let p = embassy_stm32::init(config); |
| 33 | |||
| 23 | info!("Hello World!"); | 34 | info!("Hello World!"); |
| 24 | 35 | ||
| 25 | let ch1 = PwmPin::new_cha(p.PA8); | 36 | let ch1 = PwmPin::new_cha(p.PA8); |
