diff options
| author | Dario Nieuwenhuis <[email protected]> | 2025-05-16 14:36:35 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-16 14:36:35 +0200 |
| commit | a32e665f6333b1bbfb01b120e680b86296d124a2 (patch) | |
| tree | 9c12ec499336c1ddc49e00572ac490e0873e1820 | |
| parent | ee23412d91ce7b1482532016c4baee9425d897e2 (diff) | |
| parent | 466e1ee9eff2a40f562b0f970e3afcdeac017cfb (diff) | |
Merge pull request #4214 from embedded-rust-iml/feature/drop-impl-for-stm32-rng
Impl Drop for stm32 Rng
| -rw-r--r-- | embassy-stm32/src/rng.rs | 9 |
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 | ||
| 189 | impl<'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 | |||
| 189 | impl<'d, T: Instance> RngCore for Rng<'d, T> { | 198 | impl<'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 { |
