diff --git a/embassy-stm32f4/src/exti.rs b/embassy-stm32f4/src/exti.rs index 11704e6d1..140b6330c 100644 --- a/embassy-stm32f4/src/exti.rs +++ b/embassy-stm32f4/src/exti.rs @@ -99,11 +99,12 @@ impl WaitForRisingEdge for ExtiPin WaitForFallingEdge for ExtiPin< s.pin.clear_interrupt_pending_bit(); async move { let fut = InterruptFuture::new(&mut s.interrupt); + let pin = &mut s.pin; cortex_m::interrupt::free(|_| { let mut exti: EXTI = unsafe { mem::transmute(()) }; - s.pin.trigger_on_edge(&mut exti, Edge::FALLING); - s.pin.enable_interrupt(&mut exti); + pin.trigger_on_edge(&mut exti, Edge::FALLING); + pin.enable_interrupt(&mut exti); }); fut.await;