aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32l4
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stm32l4')
-rw-r--r--examples/stm32l4/src/bin/rtc.rs29
-rw-r--r--examples/stm32l4/src/bin/spe_adin1110_http_server.rs34
2 files changed, 36 insertions, 27 deletions
diff --git a/examples/stm32l4/src/bin/rtc.rs b/examples/stm32l4/src/bin/rtc.rs
index fec0a349d..69527c9ad 100644
--- a/examples/stm32l4/src/bin/rtc.rs
+++ b/examples/stm32l4/src/bin/rtc.rs
@@ -5,7 +5,6 @@
5use chrono::{NaiveDate, NaiveDateTime}; 5use chrono::{NaiveDate, NaiveDateTime};
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_stm32::rcc::{ClockSrc, LsConfig, PLLSource, Pll, PllMul, PllPreDiv, PllRDiv};
9use embassy_stm32::rtc::{Rtc, RtcConfig}; 8use embassy_stm32::rtc::{Rtc, RtcConfig};
10use embassy_stm32::time::Hertz; 9use embassy_stm32::time::Hertz;
11use embassy_stm32::Config; 10use embassy_stm32::Config;
@@ -15,17 +14,23 @@ use {defmt_rtt as _, panic_probe as _};
15#[embassy_executor::main] 14#[embassy_executor::main]
16async fn main(_spawner: Spawner) { 15async fn main(_spawner: Spawner) {
17 let mut config = Config::default(); 16 let mut config = Config::default();
18 config.rcc.mux = ClockSrc::PLL1_R; 17 {
19 config.rcc.hse = Some(Hertz::mhz(8)); 18 use embassy_stm32::rcc::*;
20 config.rcc.pll = Some(Pll { 19 config.rcc.mux = ClockSrc::PLL1_R;
21 source: PLLSource::HSE, 20 config.rcc.hse = Some(Hse {
22 prediv: PllPreDiv::DIV1, 21 freq: Hertz::mhz(8),
23 mul: PllMul::MUL20, 22 mode: HseMode::Oscillator,
24 divp: None, 23 });
25 divq: None, 24 config.rcc.pll = Some(Pll {
26 divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2) 25 source: PLLSource::HSE,
27 }); 26 prediv: PllPreDiv::DIV1,
28 config.rcc.ls = LsConfig::default_lse(); 27 mul: PllMul::MUL20,
28 divp: None,
29 divq: None,
30 divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2)
31 });
32 config.rcc.ls = LsConfig::default_lse();
33 }
29 let p = embassy_stm32::init(config); 34 let p = embassy_stm32::init(config);
30 35
31 info!("Hello World!"); 36 info!("Hello World!");
diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs
index 3c9d2cfc0..f76b504a7 100644
--- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs
+++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs
@@ -48,7 +48,6 @@ use embassy_net_adin1110::{self, Device, Runner, ADIN1110};
48use embedded_hal_bus::spi::ExclusiveDevice; 48use embedded_hal_bus::spi::ExclusiveDevice;
49use hal::gpio::Pull; 49use hal::gpio::Pull;
50use hal::i2c::Config as I2C_Config; 50use hal::i2c::Config as I2C_Config;
51use hal::rcc::{ClockSrc, PLLSource, Pll, PllMul, PllPreDiv, PllRDiv};
52use hal::spi::{Config as SPI_Config, Spi}; 51use hal::spi::{Config as SPI_Config, Spi};
53use hal::time::Hertz; 52use hal::time::Hertz;
54 53
@@ -74,20 +73,25 @@ async fn main(spawner: Spawner) {
74 defmt::println!("Start main()"); 73 defmt::println!("Start main()");
75 74
76 let mut config = embassy_stm32::Config::default(); 75 let mut config = embassy_stm32::Config::default();
77 76 {
78 // 80Mhz clock (Source: 8 / SrcDiv: 1 * PLLMul 20 / ClkDiv 2) 77 use embassy_stm32::rcc::*;
79 // 80MHz highest frequency for flash 0 wait. 78 // 80Mhz clock (Source: 8 / SrcDiv: 1 * PLLMul 20 / ClkDiv 2)
80 config.rcc.mux = ClockSrc::PLL1_R; 79 // 80MHz highest frequency for flash 0 wait.
81 config.rcc.hse = Some(Hertz::mhz(8)); 80 config.rcc.mux = ClockSrc::PLL1_R;
82 config.rcc.pll = Some(Pll { 81 config.rcc.hse = Some(Hse {
83 source: PLLSource::HSE, 82 freq: Hertz::mhz(8),
84 prediv: PllPreDiv::DIV1, 83 mode: HseMode::Oscillator,
85 mul: PllMul::MUL20, 84 });
86 divp: None, 85 config.rcc.pll = Some(Pll {
87 divq: None, 86 source: PLLSource::HSE,
88 divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2) 87 prediv: PllPreDiv::DIV1,
89 }); 88 mul: PllMul::MUL20,
90 config.rcc.hsi48 = true; // needed for rng 89 divp: None,
90 divq: None,
91 divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2)
92 });
93 config.rcc.hsi48 = true; // needed for rng
94 }
91 95
92 let dp = embassy_stm32::init(config); 96 let dp = embassy_stm32::init(config);
93 97