STM32学习笔记——TIM_Period 和 TIM_Prescaler

概念 

TIM_TimeBaseStructure.TIM_Period 和 TIM_TimeBaseStructure.TIM_Prescaler 是STM32定时器(Timer)的两个重要参数。

  1. TIM_Period:这个参数代表的是定时器的自动重装载值(Auto-reload value)。当定时器的计数值达到这个值时,定时器就会产生一个中断或更新事件。这个参数可以用来控制定时器中断的间隔时间。

        例如,如果设置TIM_Period为7199,那么定时器每计数7199次就会产生一个中断。

  1. TIM_Prescaler:这个参数代表的是定时器的预分频值(Prescaler value)。它决定了定时器的时钟频率被分频的倍数。这可以用来控制定时器的分辨率和计数速度。通过调整TIM_Prescaler的值,可以实现对定时器行为的精细控制。

        例如,如果设置TIM_Prescaler为9,那么定时器的时钟频率将被除以9,从而降低定时器的计数速度。

这两个参数共同决定了定时器的中断间隔时间。在STM32的TIM2中,可以通过设置这两个参数来实现在特定的时间间隔产生中断的功能。

举例:

//对于72MHZ的频率,2s中断一次:
TIM_Prescaler=7200-1;   //预分频值
TIM_Period=20000-1;    //重装载值
//72M  / 7200 = 72* 10 ^ 6 / 7200= 72000000/7200=10000Hz
//周期等于频率的倒数  1/10000 = 0.0001s
//2s = 2000ms 2s/0.0001s = 20000
//要运行20000 从0开始就有20000 - 1 = 19999
//即通过19999次系统的运行,就是2000ms

总结:


定时器中断时间(s) = (TIM_Prescaler + 1)* (TIM_Period +1) / 时钟频率

定时器中断时间(ms)=(TIM_Prescaler + 1)* (TIM_Period +1) * 1000 / 时钟频率

  • 8
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这些参数是用于配置定时器(TIM)模块的工作模式和计数器的计数方式的。下面我会对这些参数进行简要的介绍: 1. TIM_ClockDivision:时钟分频系数,用于将TIMx_CLK的时钟频率分频,得到定时器的工作时钟频率。取值范围为TIM_CKD_DIV1、TIM_CKD_DIV2、TIM_CKD_DIV4,分别表示不分频、2分频、4分频。通常情况下,该参数设置TIM_CKD_DIV1。 2. TIM_CounterMode:计数器计数方式,用于指定计数器的计数方式。取值范围为TIM_CounterMode_Up、TIM_CounterMode_Down、TIM_CounterMode_CenterAligned1和TIM_CounterMode_CenterAligned2,分别表示向上计数、向下计数、向上/向下中心对齐模式1和向上/向下中心对齐模式2。通常情况下,该参数设置TIM_CounterMode_Up。 3. TIM_Period:定时器周期值,用于设置定时器的计数周期。取值范围为16位无符号整数,最大值为65535。定时器的计数周期计算公式为:计数周期 = TIM_Period + 1。 4. TIM_Prescaler:定时器预分频系数,用于将TIMx_CLK的时钟频率进行预分频,得到定时器的工作时钟频率。取值范围为16位无符号整数,最大值为65535。定时器的工作时钟频率计算公式为:工作时钟频率 = TIMx_CLK / (TIM_Prescaler + 1)。 5. TIM_RepetitionCounter:重复计数器值,用于指定在向上/向下中心对齐模式下,计数器在达到计数周期时是否要重复计数。取值范围为8位无符号整数,最大值为255。在向上/向下中心对齐模式下,当计数器向上或向下计数到计数周期时,会产生一次计数溢出,并且计数器的计数方向会自动翻转。如果TIM_RepetitionCounter的值为非零,则当计数器再次计数到计数周期时,会再次产生计数溢出,并且计数器的计数方向再次翻转。如果TIM_RepetitionCounter的值为零,则当计数器计数到计数周期时,不会产生计数溢出,计数器的计数方向也不会翻转。 这些参数的具体使用方法和取值,需要根据具体的定时器模块和应用场景来决定。一般来说,在使用定时器模块的时候,需要根据实际需求来选择合适的参数值,以实现所需的计时、延时或者时间控制功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值