aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/rng.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/embassy-stm32/src/rng.rs b/embassy-stm32/src/rng.rs
index 250a08a39..8fa1b3a9d 100644
--- a/embassy-stm32/src/rng.rs
+++ b/embassy-stm32/src/rng.rs
@@ -186,6 +186,15 @@ impl<'d, T: Instance> Rng<'d, T> {
186 } 186 }
187} 187}
188 188
189impl<'d, T: Instance> Drop for Rng<'d, T> {
190 fn drop(&mut self) {
191 T::regs().cr().modify(|reg| {
192 reg.set_rngen(false);
193 });
194 rcc::disable::<T>();
195 }
196}
197
189impl<'d, T: Instance> RngCore for Rng<'d, T> { 198impl<'d, T: Instance> RngCore for Rng<'d, T> {
190 fn next_u32(&mut self) -> u32 { 199 fn next_u32(&mut self) -> u32 {
191 loop { 200 loop {