STC32G定时器T0中的TM0PS是什么意思?
这里的TM0PS怎么计算
这是定时器0时钟 分频 的
gentleman 发表于 2023-11-21 17:15
那定时器0的时钟是什么意思?
它的值是多少?
本帖最后由 gentleman 于 2023-11-22 10:04 编辑
唐Y 发表于 2023-11-22 09:35
那定时器0的时钟是什么意思?
它的值是多少?
就是 定时器0 这个外设 工作时使用的时钟(后面还可以继续12分频/不分频){:4_167:}
他的值就是通过你问的这个 (预分频)寄存器 和主时钟确定的,公式都给你贴出来了{:4_187:}
唐Y 发表于 2023-11-22 09:35
那定时器0的时钟是什么意思?
它的值是多少?
理解一下定时器的工作原理你就明白定时器时钟是什么意思了:定时器之所以能定时,关键是有个统计脉冲的寄存器TnH和TnL,这个寄存器每遇到一个脉冲就能加一。如果知道每个脉冲的时间间隔,那么是不是就能知道统计到寄存器里的数值经历了多长时间了。让这个寄存器能加一的脉冲就是定时器的时钟。这个时钟怎么来呢?首先系统有个基础的时钟叫做SYSclk,它是系统工作的最基本的时钟,也就是设置的内部晶振的频率,如果使用外部晶振,那就是外部晶振的频率。如果直接使用系统的时钟作为定时器的时钟,由于晶振的频率很高,一般都是多少MHz,如果是1MHz也就是一个时钟时1us,而TnH和TnL和起来才16位,总共能记录65535个数字,最大也就是能定时65.535ms,这个时间太短了,所以为了满足更长时间的定时,所以有了TM0PS这个预分频,将时钟的频率降下来,预分频完之后,还有个能降低频率的寄存器,那就是AUXR,其中的T0x12位如果=1,还能将频率缩短为预分频之后的1/12,讲过两个降频之后再作为定时器的时钟,那么T0H和T0L能定时的时间就是不分频的时间的(TM0PS*12)。
页:
[1]