From a93ed2bed6311450b2a8f17a07346eff3c9b6667 Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Mon, 16 Aug 2021 15:03:29 -0400 Subject: Add H7 exti button example using correct EXTI reg block offsets. --- examples/stm32h7/src/bin/button_exti.rs | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 examples/stm32h7/src/bin/button_exti.rs (limited to 'examples') diff --git a/examples/stm32h7/src/bin/button_exti.rs b/examples/stm32h7/src/bin/button_exti.rs new file mode 100644 index 000000000..ee43fa7d9 --- /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!"); + } +} -- cgit