2 corrected equation formatting (MathJax) edit approved Jun 18 '16 at 20:58 Jakub Rakus 2,11133 gold badges1212 silver badges2222 bronze badges It actually divide frequencefrequency as ==> 168MHz / ((60000+1)*(28+1)) = 96.55Hz ==> 10.36ms: $$f = \frac{168~MHz}{(60000+1)\cdot(28+1)} = 96.55~Hz \\ T = 10.36~ms$$ If you want 10Hz, please try to set prescaler = 59999, period = 27; then the timer will work as ==> 168MHz / ((59999+1)*(27+1)) = 100Hz; $$f = \frac{168~MHz}{(59999+1)\cdot(27+1)} = 100~Hz$$ It's a rule from STM specification. It actually divide frequence as ==> 168MHz / ((60000+1)*(28+1)) = 96.55Hz ==> 10.36ms If you want 10Hz, please try to set prescaler = 59999, period = 27; then the timer will work as ==> 168MHz / ((59999+1)*(27+1)) = 100Hz; It's a rule from STM specification. It actually divide frequency as: $$f = \frac{168~MHz}{(60000+1)\cdot(28+1)} = 96.55~Hz \\ T = 10.36~ms$$ If you want 10Hz, please try to set prescaler = 59999, period = 27; then the timer will work as $$f = \frac{168~MHz}{(59999+1)\cdot(27+1)} = 100~Hz$$ It's a rule from STM specification. 1 answered Jun 18 '16 at 7:21 Milo 1 It actually divide frequence as ==> 168MHz / ((60000+1)*(28+1)) = 96.55Hz ==> 10.36ms If you want 10Hz, please try to set prescaler = 59999, period = 27; then the timer will work as ==> 168MHz / ((59999+1)*(27+1)) = 100Hz; It's a rule from STM specification.