diff --git a/embassy-nrf/src/buffered_uarte.rs b/embassy-nrf/src/buffered_uarte.rs index c41d8398c..4d053c023 100644 --- a/embassy-nrf/src/buffered_uarte.rs +++ b/embassy-nrf/src/buffered_uarte.rs @@ -646,6 +646,8 @@ mod _embedded_io { impl<'a, U: UarteInstance, T: TimerInstance> Drop for BufferedUarte<'a, U, T> { fn drop(&mut self) { + self._ppi_group.disable_all(); + let r = U::regs(); self.timer.stop(); diff --git a/embassy-nrf/src/timer.rs b/embassy-nrf/src/timer.rs index e9d2132c1..2a0e16a50 100644 --- a/embassy-nrf/src/timer.rs +++ b/embassy-nrf/src/timer.rs @@ -124,7 +124,7 @@ impl<'d, T: Instance> Timer<'d, T> { this.stop(); if is_counter { - regs.mode.write(|w| w.mode().counter()); + regs.mode.write(|w| w.mode().low_power_counter()); } else { regs.mode.write(|w| w.mode().timer()); }