aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32f0/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stm32f0/src')
-rw-r--r--examples/stm32f0/src/bin/hello.rs23
-rw-r--r--examples/stm32f0/src/example_common.rs17
2 files changed, 40 insertions, 0 deletions
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 @@
1#![no_std]
2#![no_main]
3#![feature(min_type_alias_impl_trait)]
4#![feature(impl_trait_in_bindings)]
5#![feature(type_alias_impl_trait)]
6#![allow(incomplete_features)]
7
8use defmt::info;
9
10use embassy::executor::Spawner;
11use embassy::time::{Duration, Timer};
12use embassy_stm32::Peripherals;
13
14#[path = "../example_common.rs"]
15mod example_common;
16
17#[embassy::main]
18async fn main(_spawner: Spawner, _p: Peripherals) -> ! {
19 loop {
20 Timer::after(Duration::from_secs(1)).await;
21 info!("Hello");
22 }
23}
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 @@
1#![macro_use]
2
3use defmt_rtt as _; // global logger
4use panic_probe as _;
5
6pub use defmt::*;
7
8use core::sync::atomic::{AtomicUsize, Ordering};
9
10defmt::timestamp! {"{=u64}", {
11 static COUNT: AtomicUsize = AtomicUsize::new(0);
12 // NOTE(no-CAS) `timestamps` runs with interrupts disabled
13 let n = COUNT.load(Ordering::Relaxed);
14 COUNT.store(n + 1, Ordering::Relaxed);
15 n as u64
16 }
17}