diff options
| author | Dion Dokter <[email protected]> | 2024-07-08 13:32:23 +0200 |
|---|---|---|
| committer | Dion Dokter <[email protected]> | 2024-07-08 13:32:23 +0200 |
| commit | b1ea90a87e5ce6b16bbc155ad30d6d3473a998bb (patch) | |
| tree | 8b471551499cafb419b031f3e74ff8b693ec2367 /examples/stm32h755cm7/src | |
| parent | 462daeeb4927416ed817423e91adb71c0861a83d (diff) | |
Add H755 examples
Diffstat (limited to 'examples/stm32h755cm7/src')
| -rw-r--r-- | examples/stm32h755cm7/src/bin/blinky.rs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/stm32h755cm7/src/bin/blinky.rs b/examples/stm32h755cm7/src/bin/blinky.rs new file mode 100644 index 000000000..396b8c718 --- /dev/null +++ b/examples/stm32h755cm7/src/bin/blinky.rs | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | #![no_std] | ||
| 2 | #![no_main] | ||
| 3 | |||
| 4 | use defmt::*; | ||
| 5 | use embassy_executor::Spawner; | ||
| 6 | use embassy_stm32::gpio::{Level, Output, Speed}; | ||
| 7 | use embassy_time::Timer; | ||
| 8 | use {defmt_rtt as _, panic_probe as _}; | ||
| 9 | |||
| 10 | #[embassy_executor::main] | ||
| 11 | async fn main(_spawner: Spawner) { | ||
| 12 | let mut config = embassy_stm32::Config::default(); | ||
| 13 | { | ||
| 14 | use embassy_stm32::rcc::*; | ||
| 15 | config.rcc.hsi = Some(HSIPrescaler::DIV1); | ||
| 16 | config.rcc.csi = true; | ||
| 17 | config.rcc.pll1 = Some(Pll { | ||
| 18 | source: PllSource::HSI, | ||
| 19 | prediv: PllPreDiv::DIV4, | ||
| 20 | mul: PllMul::MUL50, | ||
| 21 | divp: Some(PllDiv::DIV2), | ||
| 22 | divq: Some(PllDiv::DIV8), // 100mhz | ||
| 23 | divr: None, | ||
| 24 | }); | ||
| 25 | config.rcc.sys = Sysclk::PLL1_P; // 400 Mhz | ||
| 26 | config.rcc.ahb_pre = AHBPrescaler::DIV2; // 200 Mhz | ||
| 27 | config.rcc.apb1_pre = APBPrescaler::DIV2; // 100 Mhz | ||
| 28 | config.rcc.apb2_pre = APBPrescaler::DIV2; // 100 Mhz | ||
| 29 | config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz | ||
| 30 | config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz | ||
| 31 | config.rcc.voltage_scale = VoltageScale::Scale1; | ||
| 32 | config.rcc.supply_config = SupplyConfig::DirectSMPS; | ||
| 33 | } | ||
| 34 | let p = embassy_stm32::init(config); | ||
| 35 | info!("Hello World!"); | ||
| 36 | |||
| 37 | let mut led = Output::new(p.PB14, Level::High, Speed::Low); | ||
| 38 | |||
| 39 | loop { | ||
| 40 | info!("high"); | ||
| 41 | led.set_high(); | ||
| 42 | Timer::after_millis(500).await; | ||
| 43 | |||
| 44 | info!("low"); | ||
| 45 | led.set_low(); | ||
| 46 | Timer::after_millis(500).await; | ||
| 47 | } | ||
| 48 | } | ||
