aboutsummaryrefslogtreecommitdiff
path: root/docs/examples/layer-by-layer/blinky-async
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2024-05-18 10:17:03 +0200
committerUlf Lilleengen <[email protected]>2024-05-21 10:05:21 +0200
commit739e5861c2e47db251725163fcd91cd822cf97b7 (patch)
tree947dc7961ca7c42ec216056fc2adf616ab812b10 /docs/examples/layer-by-layer/blinky-async
parent51d553092550059afb22b2620cea14bbed21abff (diff)
convert from antora to asciidoctor
Diffstat (limited to 'docs/examples/layer-by-layer/blinky-async')
-rw-r--r--docs/examples/layer-by-layer/blinky-async/Cargo.toml15
-rw-r--r--docs/examples/layer-by-layer/blinky-async/src/main.rs23
2 files changed, 38 insertions, 0 deletions
diff --git a/docs/examples/layer-by-layer/blinky-async/Cargo.toml b/docs/examples/layer-by-layer/blinky-async/Cargo.toml
new file mode 100644
index 000000000..64f7e8403
--- /dev/null
+++ b/docs/examples/layer-by-layer/blinky-async/Cargo.toml
@@ -0,0 +1,15 @@
1[package]
2name = "blinky-async"
3version = "0.1.0"
4edition = "2021"
5license = "MIT OR Apache-2.0"
6
7[dependencies]
8cortex-m = "0.7"
9cortex-m-rt = "0.7"
10embassy-stm32 = { version = "0.1.0", features = ["stm32l475vg", "memory-x", "exti"] }
11embassy-executor = { version = "0.5.0", features = ["arch-cortex-m", "executor-thread"] }
12
13defmt = "0.3.0"
14defmt-rtt = "0.3.0"
15panic-probe = { version = "0.3.0", features = ["print-defmt"] }
diff --git a/docs/examples/layer-by-layer/blinky-async/src/main.rs b/docs/examples/layer-by-layer/blinky-async/src/main.rs
new file mode 100644
index 000000000..004602816
--- /dev/null
+++ b/docs/examples/layer-by-layer/blinky-async/src/main.rs
@@ -0,0 +1,23 @@
1#![no_std]
2#![no_main]
3
4use embassy_executor::Spawner;
5use embassy_stm32::exti::ExtiInput;
6use embassy_stm32::gpio::{Level, Output, Pull, Speed};
7use {defmt_rtt as _, panic_probe as _};
8
9#[embassy_executor::main]
10async fn main(_spawner: Spawner) {
11 let p = embassy_stm32::init(Default::default());
12 let mut led = Output::new(p.PB14, Level::Low, Speed::VeryHigh);
13 let mut button = ExtiInput::new(p.PC13, p.EXTI13, Pull::Up);
14
15 loop {
16 button.wait_for_any_edge().await;
17 if button.is_low() {
18 led.set_high();
19 } else {
20 led.set_low();
21 }
22 }
23}