SYSTICK作为时基,时钟频率是170MHz(不知道为啥是这个值),配置CubeMX
可以发现,Prescaler虽然是16,实际是17分频,也就是说时钟频率被分成10MHz。
Counter Reload(自动重装载值)是100000
在定时器中,计算其定时周期需要用到自动重装载值(counter reload
)和定时器的时钟频率。计算公式为:
为什么呢?
答:定时器在工作时,是通过对时钟信号进行计数来实现定时功能的。自动重装载值决定了定时器计数的上限。当定时器从 0 开始计数,每接收到一个时钟脉冲就加 1,直到计数值达到自动重装载值时,就会产生一个溢出事件,然后定时器可能会自动重新从 0 开始计数,如此循环。
时钟脉冲由时钟频率决定,假设时钟脉冲f = 100Hz(小值易于计算和理解),即T = 0.01s,那么每0.01秒产生一个时钟脉冲,假设自动重装载值为10,一次填满就需要秒的时间,因为每0.01秒定时器+1,总计10次,也就是定时周期。