diff options
| author | eZio Pan <[email protected]> | 2024-02-27 14:20:58 +0800 |
|---|---|---|
| committer | eZio Pan <[email protected]> | 2024-02-27 14:20:58 +0800 |
| commit | bf44adc4bcd4725f19ec99428acd70700b48e8cd (patch) | |
| tree | c6edd037158b4dc9ea341fb031465bdf7be20b80 | |
| parent | d5a2b3be58185384fca86391e9e16b219f2711ed (diff) | |
allow higher psc value for iwdg_v3
| -rw-r--r-- | embassy-stm32/src/wdg/mod.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/embassy-stm32/src/wdg/mod.rs b/embassy-stm32/src/wdg/mod.rs index dc701ef64..2ff0db09e 100644 --- a/embassy-stm32/src/wdg/mod.rs +++ b/embassy-stm32/src/wdg/mod.rs | |||
| @@ -42,9 +42,13 @@ impl<'d, T: Instance> IndependentWatchdog<'d, T> { | |||
| 42 | // Prescaler value | 42 | // Prescaler value |
| 43 | let psc = 2u16.pow(psc_power); | 43 | let psc = 2u16.pow(psc_power); |
| 44 | 44 | ||
| 45 | #[cfg(not(iwdg_v3))] | ||
| 46 | assert!(psc <= 256, "IWDG prescaler should be no more than 256"); | ||
| 47 | #[cfg(iwdg_v3)] // H5, U5, WBA | ||
| 48 | assert!(psc <= 1024, "IWDG prescaler should be no more than 1024"); | ||
| 49 | |||
| 45 | // Convert prescaler power to PR register value | 50 | // Convert prescaler power to PR register value |
| 46 | let pr = psc_power as u8 - 2; | 51 | let pr = psc_power as u8 - 2; |
| 47 | assert!(pr <= 0b110); | ||
| 48 | 52 | ||
| 49 | // Reload value | 53 | // Reload value |
| 50 | let rl = reload_value(psc, timeout_us); | 54 | let rl = reload_value(psc, timeout_us); |
