From 092eef3ae7f90e33564f09fa6a887e8fc9ed88b8 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 23 Feb 2022 09:48:32 +0100 Subject: Add documentation about the different embassy abstraction layers The guide demonstrates the functionality offered by each layer in Embassy, using code examples. --- .../layer-by-layer/blinky-async/src/main.rs | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/modules/ROOT/examples/layer-by-layer/blinky-async/src/main.rs (limited to 'docs/modules/ROOT/examples/layer-by-layer/blinky-async/src') diff --git a/docs/modules/ROOT/examples/layer-by-layer/blinky-async/src/main.rs b/docs/modules/ROOT/examples/layer-by-layer/blinky-async/src/main.rs new file mode 100644 index 000000000..35726be64 --- /dev/null +++ b/docs/modules/ROOT/examples/layer-by-layer/blinky-async/src/main.rs @@ -0,0 +1,28 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] + +use defmt_rtt as _; +use panic_probe as _; + +use embassy::executor::Spawner; +use embassy_stm32::{ + exti::ExtiInput, + gpio::{Input, Level, Output, Pull, Speed}, + Peripherals, +}; + +#[embassy::main] +async fn main(_s: Spawner, p: Peripherals) { + let mut led = Output::new(p.PB14, Level::Low, Speed::VeryHigh); + let mut button = ExtiInput::new(Input::new(p.PC13, Pull::Up), p.EXTI13); + + loop { + button.wait_for_any_edge().await; + if button.is_low() { + led.set_high(); + } else { + led.set_low(); + } + } +} -- cgit