From c14642cffcd7f6171ecfb107dbbd8a29ec5e2540 Mon Sep 17 00:00:00 2001 From: Matous Hybl Date: Mon, 8 Nov 2021 23:43:03 +0100 Subject: Add MCO peripheral. --- examples/stm32h7/src/bin/mco.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 examples/stm32h7/src/bin/mco.rs (limited to 'examples/stm32h7/src') diff --git a/examples/stm32h7/src/bin/mco.rs b/examples/stm32h7/src/bin/mco.rs new file mode 100644 index 000000000..4cecd9b04 --- /dev/null +++ b/examples/stm32h7/src/bin/mco.rs @@ -0,0 +1,32 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] + +#[path = "../example_common.rs"] +mod example_common; +use embassy::executor::Spawner; +use embassy::time::{Duration, Timer}; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; +use embassy_stm32::Peripherals; +use embedded_hal::digital::v2::OutputPin; +use example_common::*; + +#[embassy::main] +async fn main(_spawner: Spawner, p: Peripherals) { + info!("Hello World!"); + + let mut led = Output::new(p.PB14, Level::High, Speed::Low); + + let _mco = Mco::new(p.MCO1, p.PA8, Mco1Source::Hsi, McoClock::Divided(8)); + + loop { + info!("high"); + unwrap!(led.set_high()); + Timer::after(Duration::from_millis(500)).await; + + info!("low"); + unwrap!(led.set_low()); + Timer::after(Duration::from_millis(500)).await; + } +} -- cgit