From 697f93ad423fb70aa134c8810237622642a301d6 Mon Sep 17 00:00:00 2001 From: Thales Fragoso Date: Thu, 15 Jul 2021 13:50:39 -0300 Subject: stm32: Add F0 example --- examples/stm32f0/src/bin/hello.rs | 23 +++++++++++++++++++++++ examples/stm32f0/src/example_common.rs | 17 +++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 examples/stm32f0/src/bin/hello.rs create mode 100644 examples/stm32f0/src/example_common.rs (limited to 'examples/stm32f0/src') diff --git a/examples/stm32f0/src/bin/hello.rs b/examples/stm32f0/src/bin/hello.rs new file mode 100644 index 000000000..a78b9892f --- /dev/null +++ b/examples/stm32f0/src/bin/hello.rs @@ -0,0 +1,23 @@ +#![no_std] +#![no_main] +#![feature(min_type_alias_impl_trait)] +#![feature(impl_trait_in_bindings)] +#![feature(type_alias_impl_trait)] +#![allow(incomplete_features)] + +use defmt::info; + +use embassy::executor::Spawner; +use embassy::time::{Duration, Timer}; +use embassy_stm32::Peripherals; + +#[path = "../example_common.rs"] +mod example_common; + +#[embassy::main] +async fn main(_spawner: Spawner, _p: Peripherals) -> ! { + loop { + Timer::after(Duration::from_secs(1)).await; + info!("Hello"); + } +} diff --git a/examples/stm32f0/src/example_common.rs b/examples/stm32f0/src/example_common.rs new file mode 100644 index 000000000..54d633837 --- /dev/null +++ b/examples/stm32f0/src/example_common.rs @@ -0,0 +1,17 @@ +#![macro_use] + +use defmt_rtt as _; // global logger +use panic_probe as _; + +pub use defmt::*; + +use core::sync::atomic::{AtomicUsize, Ordering}; + +defmt::timestamp! {"{=u64}", { + static COUNT: AtomicUsize = AtomicUsize::new(0); + // NOTE(no-CAS) `timestamps` runs with interrupts disabled + let n = COUNT.load(Ordering::Relaxed); + COUNT.store(n + 1, Ordering::Relaxed); + n as u64 + } +} -- cgit