aboutsummaryrefslogtreecommitdiff
path: root/docs/examples/layer-by-layer
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/layer-by-layer')
-rw-r--r--docs/examples/layer-by-layer/blinky-async/src/main.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/docs/examples/layer-by-layer/blinky-async/src/main.rs b/docs/examples/layer-by-layer/blinky-async/src/main.rs
index 004602816..5871534c5 100644
--- a/docs/examples/layer-by-layer/blinky-async/src/main.rs
+++ b/docs/examples/layer-by-layer/blinky-async/src/main.rs
@@ -2,15 +2,27 @@
2#![no_main] 2#![no_main]
3 3
4use embassy_executor::Spawner; 4use embassy_executor::Spawner;
5use embassy_stm32::exti::ExtiInput; 5use embassy_stm32::bind_interrupts;
6use embassy_stm32::exti::{self, ExtiInput};
6use embassy_stm32::gpio::{Level, Output, Pull, Speed}; 7use embassy_stm32::gpio::{Level, Output, Pull, Speed};
8use embassy_stm32::interrupt;
7use {defmt_rtt as _, panic_probe as _}; 9use {defmt_rtt as _, panic_probe as _};
8 10
11bind_interrupts!(
12 pub struct Irqs{
13 EXTI15_10 => exti::InterruptHandler<interrupt::typelevel::EXTI15_10 >;
14});
15
9#[embassy_executor::main] 16#[embassy_executor::main]
10async fn main(_spawner: Spawner) { 17async fn main(_spawner: Spawner) {
11 let p = embassy_stm32::init(Default::default()); 18 let p = embassy_stm32::init(Default::default());
12 let mut led = Output::new(p.PB14, Level::Low, Speed::VeryHigh); 19 let mut led = Output::new(p.PB14, Level::Low, Speed::VeryHigh);
13 let mut button = ExtiInput::new(p.PC13, p.EXTI13, Pull::Up); 20 let mut button = ExtiInput::new(
21 p.PC13,
22 p.EXTI13,
23 Pull::Up,
24 Irqs::as_any::<interrupt::typelevel::EXTI15_10, exti::InterruptHandler<interrupt::typelevel::EXTI15_10>>(),
25 );
14 26
15 loop { 27 loop {
16 button.wait_for_any_edge().await; 28 button.wait_for_any_edge().await;