STM32_基础入门(十一)第二篇_通用定时器使用详解

持续关注阿杰在线更新保姆式笔记~~坚持日更

目录

一、通用定时器基本介绍

二、基本定时功能

1、定时器时钟来源分析

2、常用库函数

3、代码区

三、定时器输出PWM

3.1基本介绍

3.2 PWM工作过程

​3.3 常用库函数 

​PWM输出配置步骤: 

3.4  代码区

四、输入捕获功能

1.基本介绍

2.工作过程

3.常用库函数 

输入捕获的一般配置步骤 

代码区


一、通用定时器基本介绍

  • 通用定时器包括TIM2、TIM3、TIM4和TIM5
  • STM32通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。
  • 每个定时器都是完全独立的,没有互相共享任何资源。它们可以一起同步操作。
  • 定时器可以进行定时器基本定时,输出4路PWM,输入捕获
  • 本文详细介绍这三个功能并且利用定时器3并且示例代码使用 

二、基本定时功能

1、定时器时钟来源分析

1、1 STM32部分时钟树:

定时器部分时钟树

首先我们我们的系统时钟(SYSCLK 72MHz) 经过AHB分频器给APB1外设,但是APB1外设最大的只能到36Mhz,所以必须要系统时钟的二分频

1、2 定时器时钟计算方法: 

 1、3 分配给我们定时器的时钟是72MHz,我们可以根据自己的需求再设置定时器的分频,设置它的定时值
    * 初始化定时器的时候指定我们预分频系数psc,这里是将我们的系统时钟(72MHz)进行分频
    * 然后指定重装载值arr,这个重装载值的意思就是当 我们的定时器的计数值 达到这个arr时,定时器就会重新装载其他值.
        例如当我们设置定时器为向上计数时,定时器计数的值等于arr之后就会被清0重新计数
    * 定时器计数的值被重装载一次被就是一个更新(Update)
    * 计算Update时间公式
    Tout = ((arr+1)*(psc+1))/Tclk
    公式推导详解:
        Tclk是定时器时钟源,在这里就是72Mhz 
        我们将分配的时钟进行分频,指定分频值为psc,就将我们的Tclk分了psc+1,我们定时器的最终频率就是Tclk/(psc+1) MHz


 *这里的频率的意思就是1s中记 Tclk/(psc+1)M个数 (1M=10的6次方) ,每记一个数的时间为(psc+1)/Tclk ,很好理解频率的倒数是周期,这里每一个数的周期就是(psc+1)/Tclk 秒
然后我们从0记到arr 就是 (arr+1)*(psc+1)/Tclk
    举例:比如我们设置arr=7199,psc=9999
    我们将72MHz (1M等于10的6次方) 分成了(9999+1)等于 7200Hz
    就是一秒钟记录7200数,每记录一个数就是1/7200秒
    我们这里记录9000个数进入定时器更新(7199+1)*(1/7200)=1s,也就是1s进入一次更新Update
 

2、常用库函数

定时器参数初始化:

void TIM_TimeBaseInit(TIM_TypeDef* TIMx,,TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct);

从0到溢出的时间是由两个决定:

1、时钟频率

2、自动装载值

Tclk: 时钟频率=72MHZ

若想定时500ms

PSC预分频系数设为:7199               ARR自动装载值:4999

定时器中断实现步骤  

能定时器时钟。

       RCC_APB1PeriphClockCmd();

 初始化定时器,配置ARR,PSC

      TIM_TimeBaseInit();

开启定时器中断,配置 NVIC

      void TIM_ITConfig();

      NVIC_Init();

 使能定时器。

      TIM_Cmd();

 编写中断服务函数。

      TIMx_IRQHandler();

3、代码区

 题目:通过定时器中断配置,每500ms

  • 24
    点赞
  • 232
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值