本帖最后由 布丁奶茶 于 2015-12-22 11:07 编辑
之前用STM8的定时器都用的库函数,没怎么在意它的初值和定时时间的计算
今天因为用定时器的时候需要计算它的定时时间,发现还真是一个细节的问题
51单片机的16位定时器的计算,相信大家都很熟悉
TH0=(65536-X)/256
TL0=(65536-X)%256
X就是定时X微妙
对于STM8单片机的定时时间
首先我们需要计算 计数的时钟=主时钟/(预分频值+1)
再计算 计数的频率=计数时钟/(重装载寄存器值+1) 最后计算 定时时间=1/计数的频率
说明:为什么会出现+1的情况,那是因为st的不管stm8还是stm32的TIM预分频器都差不多,肯定是没有0分频的,最小是1分频,一般习惯给预分频和重新装载寄存器减一,官方例程上也有这个习惯。
这样我们就可以算出来定时器定时的时间了
这个是我自己看资料总结的,如果有哪里不对的地方也请大家指出来。
|