定时器的最大定时长度是多少呢?

[复制链接]
 楼主| 单片机菜菜 发表于 2015-9-8 17:52 | 显示全部楼层 |阅读模式
定时器的最大定时长度是多少呢?最大可以定时多少呢?
number9 发表于 2015-9-9 15:49 | 显示全部楼层
由定时器的分频,主频,以及几位的定时器决定的
低八度的声线 发表于 2015-9-11 09:39 | 显示全部楼层
假设 系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到
关键是设定 时钟预分频数,自动重装载寄存器周期的值
deliciouscook 发表于 2015-9-12 08:31 | 显示全部楼层
网上找到的详细算法

/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的
RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz。因此,每次进入中
断服务程序间隔时间为
((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒 */
定时器的基本设置
   1、   TIM_TimeBaseStructure.TIM_Prescaler = 7199;//时钟预分频数   例如 :时
钟频率=72/(时钟预分频+1)  
   2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值(定时
时间)     累计 0xFFFF个频率后产生个更新或者中断(也是说定时时间到)
   3、  TIM_TimeBaseStructure.TIM_CounterMode =  TIM1_CounterMode_Up; //定时器
模式  向上计数  
     
     4、 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //时间分割值  
     5、 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);//初始化定时器2
     6、 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);  //打开中断   溢出中断  
     7、 TIM_Cmd(TIM2, ENABLE);//打开定时器

或者:
TIM_TimeBaseStructure.TIM_Prescaler = 35999;//分频35999      72M/
(35999+1)/2=1Hz  1秒中断溢出一次
TIM_TimeBaseStructure.TIM_Period = 2000; //计数值2000

((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+35999)/72M)*(1+2000)=1秒 */  

评分

参与人数 1威望 +1 收起 理由
单片机菜菜 + 1

查看全部评分

月正浓 发表于 2015-9-13 15:34 | 显示全部楼层
最大可以达到16ms多,我指的是一次定时器的长度
黑夜的风 发表于 2015-9-14 16:28 | 显示全部楼层
可以看看这个图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威望 +3 收起 理由
王大熊 + 3

查看全部评分

王大熊 发表于 2015-9-18 08:51 | 显示全部楼层

赞一个,这幅图很不错,收藏了
 楼主| 单片机菜菜 发表于 2015-9-29 14:02 | 显示全部楼层
number9 发表于 2015-9-9 15:49
由定时器的分频,主频,以及几位的定时器决定的

具体是不是应该有个公式呢?
comeon201208 发表于 2015-10-7 19:13 | 显示全部楼层

这个表是很关键的,不过有基本的计算算法的。
angerbird 发表于 2015-10-7 20:43 | 显示全部楼层
deliciouscook 发表于 2015-9-12 08:31
网上找到的详细算法

/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的

这是跟主频率相关系的。
smilingangel 发表于 2015-10-7 21:28 | 显示全部楼层
这个主要取决于时钟源的配置的
baimiaocun2015 发表于 2015-10-11 20:32 | 显示全部楼层

这个表格就是根据不同的主频率计算的参数的。
tongbu2015 发表于 2015-10-15 21:37 | 显示全部楼层

这个就跟定期其所选用的时钟源相关系的,,最多计数65536
zhangbo1985 发表于 2015-10-16 19:43 | 显示全部楼层
这个就是依据于其主频跟定时器采用的频率的。
deliciouscook 发表于 2015-10-25 10:56 | 显示全部楼层
angerbird 发表于 2015-10-7 20:43
这是跟主频率相关系的。

确实,首先要配置主频率
number9 发表于 2015-10-25 11:13 | 显示全部楼层
单片机菜菜 发表于 2015-9-29 14:02
具体是不是应该有个公式呢?

是有个公式的,你可以看看数据手册去。
黑夜的风 发表于 2015-10-27 19:19 | 显示全部楼层
王大熊 发表于 2015-9-18 08:51
赞一个,这幅图很不错,收藏了

我从一个大侠的博客找的,对我学习定时器很有用的。
黑夜的风 发表于 2015-10-27 19:26 | 显示全部楼层
comeon201208 发表于 2015-10-7 19:13
这个表是很关键的,不过有基本的计算算法的。

是的,我从数据手册中找到这个公式了。
 楼主| 单片机菜菜 发表于 2015-10-31 09:48 | 显示全部楼层
number9 发表于 2015-9-9 15:49
由定时器的分频,主频,以及几位的定时器决定的

有个公式么?
 楼主| 单片机菜菜 发表于 2015-10-31 09:51 | 显示全部楼层
deliciouscook 发表于 2015-9-12 08:31
网上找到的详细算法

/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的

谢谢,这个公式很详细!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

170

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部