From a93ed2bed6311450b2a8f17a07346eff3c9b6667 Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Mon, 16 Aug 2021 15:03:29 -0400 Subject: [PATCH] Add H7 exti button example using correct EXTI reg block offsets. --- embassy-stm32/src/exti/mod.rs | 1 + examples/stm32h7/src/bin/button_exti.rs | 36 +++++++++++++++++++++++++ stm32-data | 2 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 examples/stm32h7/src/bin/button_exti.rs diff --git a/embassy-stm32/src/exti/mod.rs b/embassy-stm32/src/exti/mod.rs index bb9082f2..164cdba3 100644 --- a/embassy-stm32/src/exti/mod.rs +++ b/embassy-stm32/src/exti/mod.rs @@ -35,6 +35,7 @@ macro_rules! foreach_exti_irq { } #[cfg_attr(exti_v1, path = "v1.rs")] +#[cfg_attr(exti_h7, path = "v1.rs")] #[cfg_attr(exti_wb55, path = "v2.rs")] mod _version; diff --git a/examples/stm32h7/src/bin/button_exti.rs b/examples/stm32h7/src/bin/button_exti.rs new file mode 100644 index 00000000..ee43fa7d --- /dev/null +++ b/examples/stm32h7/src/bin/button_exti.rs @@ -0,0 +1,36 @@ +#![no_std] +#![no_main] +#![feature(trait_alias)] +#![feature(type_alias_impl_trait)] +#![allow(incomplete_features)] + +#[path = "../example_common.rs"] +mod example_common; +use embassy::executor::Spawner; +use embassy_stm32::dbgmcu::Dbgmcu; +use embassy_stm32::exti::ExtiInput; +use embassy_stm32::gpio::{Input, Pull}; +use embassy_stm32::Peripherals; +use embassy_traits::gpio::{WaitForFallingEdge, WaitForRisingEdge}; +use example_common::*; + +#[embassy::main] +async fn main(_spawner: Spawner, p: Peripherals) { + info!("Hello World!"); + + unsafe { + Dbgmcu::enable_all(); + } + + let button = Input::new(p.PC13, Pull::Down); + let mut button = ExtiInput::new(button, p.EXTI13); + + info!("Press the USER button..."); + + loop { + button.wait_for_rising_edge().await; + info!("Pressed!"); + button.wait_for_falling_edge().await; + info!("Released!"); + } +} diff --git a/stm32-data b/stm32-data index 79ab92a3..75a76596 160000 --- a/stm32-data +++ b/stm32-data @@ -1 +1 @@ -Subproject commit 79ab92a38d1cbb47dda2f6f8556fe1abc9a14f3a +Subproject commit 75a76596c37f07cbbdaa3a689c1776297063b651