找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8878|回复: 6
收起左侧

关于stm32定时器定时计算问题

[复制链接]
ID:73735 发表于 2015-2-19 00:46 | 显示全部楼层 |阅读模式
关于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


回复

使用道具 举报

ID:401614 发表于 2018-11-2 10:44 | 显示全部楼层
感谢,正愁不会计算定时器定时问题
回复

使用道具 举报

ID:369225 发表于 2018-11-2 14:22 | 显示全部楼层
感谢啊,这个刚好在写定时器PWM的时候用上了
回复

使用道具 举报

ID:368791 发表于 2018-11-7 22:57 来自触屏版 | 显示全部楼层
很好的,很实用
回复

使用道具 举报

ID:348627 发表于 2018-11-8 10:06 | 显示全部楼层
我用的定时器4 同样的操作方法为啥不是0.5秒呢、  我很郁闷
回复

使用道具 举报

ID:425130 发表于 2018-11-12 19:14 | 显示全部楼层
好东西,很给力
回复

使用道具 举报

ID:408199 发表于 2018-11-14 14:41 | 显示全部楼层
之前一直不明白,现在懂了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表