diff options
| -rw-r--r-- | embassy-stm32/src/timer/mod.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/embassy-stm32/src/timer/mod.rs b/embassy-stm32/src/timer/mod.rs index 4ffb2a289..b5ced45fe 100644 --- a/embassy-stm32/src/timer/mod.rs +++ b/embassy-stm32/src/timer/mod.rs | |||
| @@ -211,6 +211,7 @@ macro_rules! impl_basic_16bit_timer { | |||
| 211 | use core::convert::TryInto; | 211 | use core::convert::TryInto; |
| 212 | let f = frequency.0; | 212 | let f = frequency.0; |
| 213 | let timer_f = Self::frequency().0; | 213 | let timer_f = Self::frequency().0; |
| 214 | assert!(f > 0); | ||
| 214 | let pclk_ticks_per_timer_period = timer_f / f; | 215 | let pclk_ticks_per_timer_period = timer_f / f; |
| 215 | let psc: u16 = unwrap!(((pclk_ticks_per_timer_period - 1) / (1 << 16)).try_into()); | 216 | let psc: u16 = unwrap!(((pclk_ticks_per_timer_period - 1) / (1 << 16)).try_into()); |
| 216 | let arr: u16 = unwrap!((pclk_ticks_per_timer_period / (u32::from(psc) + 1)).try_into()); | 217 | let arr: u16 = unwrap!((pclk_ticks_per_timer_period / (u32::from(psc) + 1)).try_into()); |
| @@ -255,6 +256,7 @@ macro_rules! impl_32bit_timer { | |||
| 255 | fn set_frequency(&mut self, frequency: Hertz) { | 256 | fn set_frequency(&mut self, frequency: Hertz) { |
| 256 | use core::convert::TryInto; | 257 | use core::convert::TryInto; |
| 257 | let f = frequency.0; | 258 | let f = frequency.0; |
| 259 | assert!(f > 0); | ||
| 258 | let timer_f = Self::frequency().0; | 260 | let timer_f = Self::frequency().0; |
| 259 | let pclk_ticks_per_timer_period = (timer_f / f) as u64; | 261 | let pclk_ticks_per_timer_period = (timer_f / f) as u64; |
| 260 | let psc: u16 = unwrap!(((pclk_ticks_per_timer_period - 1) / (1 << 32)).try_into()); | 262 | let psc: u16 = unwrap!(((pclk_ticks_per_timer_period - 1) / (1 << 32)).try_into()); |
