STM32定时器之定时器介绍(STM32F4系列)

本文详细介绍了STM32F4xx系列微控制器的定时器,包括基本定时器、通用定时器和高级定时器的功能比较,计数模式,以及如何计算中断时间和使用输入捕获与输出比较。特别关注了PWM输出的应用和高级定时器的死区控制特性。
摘要由CSDN通过智能技术生成

STM32定时器介绍

定时器的基本类型



前言

STM32F4xx 系列微控制器具有多达14个定时器。其中包括2个基本定时器,10 个通用定时器2个高级定时器其中最大定时器时钟可通过 RCC_DCKCFGR 寄存器配置为 84MHz 或者 168MHz。一般是默认配置

一、定时器计数模式

向上计数模式:
计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。
向下计数模式:
计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。类似于systick定时器
中央对齐模式(向上/向下计数):
计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。

二、几种定时器功能比较

基本定时器TIM功能

● 主要运用于定时计数以及驱动DAC

通用定时器TIM功能

● 定时器定时计数
● 输入捕获,有专门通道对应着管脚,外接一些信号可以被采集频率、脉宽等
● 输出比较,与上相反,设置脉宽之后通过管脚输出去驱动某些东西
● PWM输出,输出比较的应用之一
● 使用外部信号控制定时器和定时器互连的同步电路

高级定时器TIM功能

● 包含通用定时器的所有功能
● 带死区控制和紧急刹车,可用于PWM控制电机
时钟源:定时器时钟 TIMxCLK,即内部时钟 CK_INT,经 APB 预分频器后分频提供
计数器时钟:定时器时钟经过 PSC 预分频器之后,即 CK_CNT,用来驱动计数器计数
计数器CNT: 是一个 16 位/32的计数器
自动重装载寄存器:这里面装着计数器能计数的最大数值。当计数到这个值的时候,如果使能了中断的话,定时器就产生溢出中断

定时器计算中断时间举例

计时中断时间:1/(TIMxCLK/(PSC+1)) * (ARR+1)

1.time6,挂在APB1总线上,总线时钟是42M,提供time6时钟的频率就是42M*2=84M

2.84M经过预分频器PSC,从0-83(84-1),最终得到了CK_CNT=1M的频率去驱动CNT计数器计数

3.假设自动重载寄存器是(1000-1),触发中断的时间T=1/1M*1000=1ms

4.设置范围不能超过16位,即2^16

定时器输入捕获与输出比较

输入捕获

输入捕获可以用来捕获外部事件,拥有自己内部的通道,一个通道对应一个管脚。比如引脚的电平变化(上升沿,下降沿),并记录下变化的时间,通常可以用来测量外部信号的频率或者电平持续的时间

输出比较

此项功能是用来控制一个输出波形,当计数器与捕获/比较寄存器的内容相同时,输出比较功能做出相应动作,比如电平的翻转。通常用于生产PWM波形

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值