唐Y 发表于 2023-11-21 16:39:48

STC32G定时器T0中的TM0PS是什么意思?


唐Y 发表于 2023-11-21 16:52:58

这里的TM0PS怎么计算

gentleman 发表于 2023-11-21 17:13:15

这是定时器0时钟 分频 的

gentleman 发表于 2023-11-21 17:15:19


唐Y 发表于 2023-11-22 09:35:14

gentleman 发表于 2023-11-21 17:15


那定时器0的时钟是什么意思?
它的值是多少?

gentleman 发表于 2023-11-22 10:02:40

本帖最后由 gentleman 于 2023-11-22 10:04 编辑

唐Y 发表于 2023-11-22 09:35
那定时器0的时钟是什么意思?
它的值是多少?
就是 定时器0 这个外设 工作时使用的时钟(后面还可以继续12分频/不分频){:4_167:}
他的值就是通过你问的这个 (预分频)寄存器 和主时钟确定的,公式都给你贴出来了{:4_187:}








rengran 发表于 2023-11-22 13:39:10

唐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]
查看完整版本: STC32G定时器T0中的TM0PS是什么意思?