diff options
| author | Anton Lazarev <antonok35@gmail.com> | 2025-06-23 22:17:54 -0700 |
|---|---|---|
| committer | Henrik Tjäder <henrik@tjaders.com> | 2025-06-30 20:15:31 +0000 |
| commit | b4a0c9057df8df239edcd7c6bc2b5661868ef1bb (patch) | |
| tree | 5f7bb8e86d8752409b530b12fab036ad461e7a26 /rtic-monotonics/src | |
| parent | 1104a12ca3de42cffd037df0969fb3723f599057 (diff) | |
panic if STM32 clock prescaler value overflows
Diffstat (limited to 'rtic-monotonics/src')
| -rw-r--r-- | rtic-monotonics/src/stm32.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rtic-monotonics/src/stm32.rs b/rtic-monotonics/src/stm32.rs index e6cb71b..b3da4a6 100644 --- a/rtic-monotonics/src/stm32.rs +++ b/rtic-monotonics/src/stm32.rs @@ -238,8 +238,10 @@ macro_rules! make_timer { $timer.cr1().modify(|r| r.set_cen(false)); assert!((tim_clock_hz % timer_hz) == 0, "Unable to find suitable timer prescaler value!"); - let psc = tim_clock_hz / timer_hz - 1; - $timer.psc().write(|r| r.set_psc(psc as u16)); + let Ok(psc) = u16::try_from(tim_clock_hz / timer_hz - 1) else { + panic!("Clock prescaler overflowed!"); + }; + $timer.psc().write(|r| r.set_psc(psc)); // Enable full-period interrupt. $timer.dier().modify(|r| r.set_uie(true)); |
