diff --git a/embassy-nrf/src/saadc.rs b/embassy-nrf/src/saadc.rs index fd7e64e7..41644120 100644 --- a/embassy-nrf/src/saadc.rs +++ b/embassy-nrf/src/saadc.rs @@ -316,6 +316,8 @@ impl<'d, const N: usize> Saadc<'d, N> { WAKER.register(cx.waker()); if r.events_end.read().bits() != 0 { + compiler_fence(Ordering::SeqCst); + r.events_end.reset(); r.intenset.write(|w| w.end().set());