Skip to content

Commit 39eb64a

Browse files
authored
rcc: Correct apb1_freq and apb2_freq calculations. (#137)
These frequencies are divided from AHB_FREQ not SYS_FREQ.
1 parent 37b831d commit 39eb64a

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/rcc/mod.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,18 @@ impl Rcc {
109109
_ => (sys_freq, 0b0000),
110110
};
111111
let (apb1_freq, apb1_psc_bits) = match rcc_cfg.apb1_psc {
112-
Prescaler::Div2 => (sys_freq / 2, 0b100),
113-
Prescaler::Div4 => (sys_freq / 4, 0b101),
114-
Prescaler::Div8 => (sys_freq / 8, 0b110),
115-
Prescaler::Div16 => (sys_freq / 16, 0b111),
116-
_ => (sys_freq, 0b000),
112+
Prescaler::Div2 => (ahb_freq / 2, 0b100),
113+
Prescaler::Div4 => (ahb_freq / 4, 0b101),
114+
Prescaler::Div8 => (ahb_freq / 8, 0b110),
115+
Prescaler::Div16 => (ahb_freq / 16, 0b111),
116+
_ => (ahb_freq, 0b000),
117117
};
118118
let (apb2_freq, apb2_psc_bits) = match rcc_cfg.apb2_psc {
119-
Prescaler::Div2 => (sys_freq / 2, 0b100),
120-
Prescaler::Div4 => (sys_freq / 4, 0b101),
121-
Prescaler::Div8 => (sys_freq / 8, 0b110),
122-
Prescaler::Div16 => (sys_freq / 16, 0b111),
123-
_ => (sys_freq, 0b000),
119+
Prescaler::Div2 => (ahb_freq / 2, 0b100),
120+
Prescaler::Div4 => (ahb_freq / 4, 0b101),
121+
Prescaler::Div8 => (ahb_freq / 8, 0b110),
122+
Prescaler::Div16 => (ahb_freq / 16, 0b111),
123+
_ => (ahb_freq, 0b000),
124124
};
125125

126126
let present_vos_mode = pwr::current_vos();

0 commit comments

Comments
 (0)