标题: 关于stm32定时器定时计算问题 [打印本页]

作者: huge    时间: 2015-2-19 00:46
标题: 关于stm32定时器定时计算问题
关于stm32定时器定时计算问题
下面是配置:
TIM_TimeBaseInitStruct.TIM_Period =1000;
TIM_TimeBaseInitStruct.TIM_Prescaler = 35999;
TIM_TimeBaseInitStruct.TIM_ClockDivision = 0;
TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStruct);
TIM_CleaRFlag(TIM2, TIM_FLAG_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_Cmd(TIM2, ENABLE);
我想知道这里的定时时间是多少?
计算方法是什么?
答:
预分频系数为36000 —— TIM_Prescaler = 35999
计数周期为1000 —— TIM_Period =1000
向上计数方式 —— TIM_CounterMode = TIM_CounterMode_Up
从0计数到1000则产生中断 —— TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE)
如果你测得0.5s进一次中断,则定时器的输入时钟应该为72MHz:
  72MHz / 36000(预分频)  / 1000  = 2Hz



作者: 单片机@#    时间: 2018-11-2 10:44
感谢,正愁不会计算定时器定时问题
作者: jiaogang12345    时间: 2018-11-2 14:22
感谢啊,这个刚好在写定时器PWM的时候用上了
作者: aslkdfjhg    时间: 2018-11-7 22:57
很好的,很实用
作者: 为了丶梦想    时间: 2018-11-8 10:06
我用的定时器4 同样的操作方法为啥不是0.5秒呢、  我很郁闷
作者: 小老弟    时间: 2018-11-12 19:14
好东西,很给力
作者: huang政宁    时间: 2018-11-14 14:41
之前一直不明白,现在懂了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1