stm32定时器的问题
TIM_TimeBaseStructure.TIM_Period=35999;TIM_TimeBaseStructure.TIM_Prescaler=1999;TIM_T...
TIM_TimeBaseStructure.TIM_Period=35999;
TIM_TimeBaseStructure.TIM_Prescaler=1999;
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //TIM2时钟分频
谁能告诉我这个TIM_Period和 TIM_Prescaler是怎么计算来的?还有这三个语句都是什么意思啊? 展开
TIM_TimeBaseStructure.TIM_Prescaler=1999;
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //TIM2时钟分频
谁能告诉我这个TIM_Period和 TIM_Prescaler是怎么计算来的?还有这三个语句都是什么意思啊? 展开
2个回答
展开全部
是用来产生定时器的中断溢出时间的,计算公式是:
T=Ftosc/(TIM_Period+1)*(TIM_Prescaler+1);(Ftosc是定时器时钟)
其中T,是中断溢出时间,你的这个例子就是1Sec,TIM_Period,是计数器的计数频率,TIM_Prescaler是定时器隔多少个周期溢出,化量溢出时间的。这两个数字的组合可以产生小于(最小分频因子,最大溢出周期,所产生的时间)下的任意时间。一般是产生1S,不过定时器只是用来产生1S时间太占用CPU资源了,如果想不占用CPU,可以用一个特殊的定时间,就是滴答了。最后还有第三句的意思是就产生定时器时对系统时钟的分频因子。此例中是1分频,就是不分频。
T=Ftosc/(TIM_Period+1)*(TIM_Prescaler+1);(Ftosc是定时器时钟)
其中T,是中断溢出时间,你的这个例子就是1Sec,TIM_Period,是计数器的计数频率,TIM_Prescaler是定时器隔多少个周期溢出,化量溢出时间的。这两个数字的组合可以产生小于(最小分频因子,最大溢出周期,所产生的时间)下的任意时间。一般是产生1S,不过定时器只是用来产生1S时间太占用CPU资源了,如果想不占用CPU,可以用一个特殊的定时间,就是滴答了。最后还有第三句的意思是就产生定时器时对系统时钟的分频因子。此例中是1分频,就是不分频。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |