您的位置 首页 元件

STM32-一般定时器TIM3

理解掌握一个单片机模块可以从底层硬件结构来入手也可以从软件来切入。当然相辅相成可以加快对模块工作方式的理解,便于掌握,加快提高解决…

了解把握一个单片机模块能够从底层硬件结构来下手也能够从软件来切入。当然相得益彰能够加速对模块工作方式的了解,便于把握,加速进步解决问题的办法和才能。

关于新手去看timer的硬件框图,仍是有必定难度的。怎样先理性的了解timer的结构及使用它。

关于STM32的定时器咱们能够从参考手册和数据手册得到分类:

1、高档定时器 TIM1和TIM8

2、一般功用定时器

3、根本定时器

从手册上能够得到不能定时器的功用有略微不同:

那咱们先从简略的一般功用定时器来下手。挑选TIM3

先看一下time-base 单元:

下面来看一下timebase的结构体:能够看到有预分频、计数模式、主动装载值等,

  1. typedefstruct
  2. {
  3. uint16_t TIM_Prescaler;/*!< Specifies the prescaler value used to divide the TIM clock.
  4. This parameter can be a number between 0x0000 and 0xFFFF */
  5. uint16_t TIM_CounterMode;/*!< Specifies the counter mode.
  6. This parameter can be a value of @ref TIM_Counter_Mode */
  7. uint16_t TIM_Period;/*!< Specifies the period value to be loaded into the active
  8. Auto-Reload Register at the next update event.
  9. This parameter must be a number between 0x0000 and 0xFFFF. 被装载到主动装载寄存器里(鄙人一次更新事情时(update event))*/
  10. uint16_t TIM_ClockDivision;/*!< Specifies the clock division.
  11. This parameter can be a value of @ref TIM_Clock_Division_CKD */
  12. uint8_t TIM_RepetitionCounter;/*!< Specifies the repetition counter value. Each time the RCR downcounter
  13. reaches zero, an update event is generated and counting restarts
  14. from the RCR value (N).
  15. This means in PWM mode that (N+1) corresponds to:
  16. – the number of PWM periods in edge-aligned mode
  17. – the number of half PWM period in center-aligned mode
  18. This parameter must be a number between 0x00 and 0xFF.
  19. @note This parameter is valid only for TIM1 and TIM8. */
  20. } TIM_TimeBaseInitTypeDef;

首要咱们先了解第一项 TIM-Prescaler。即预分频

关于下图的prescaler counter 是预分频的计数器(分频也需求计数)。对照图74的该项,即可看出来。

代码中第二项TIM-CounterMode

向上形式

怎样算计时呢?下一篇再剖析。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/273131.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部