STM32定时器中断实验

1.定时器介绍 

STM32中的定时器根据其功能复杂程度,可以分为基础定时器(Basic Timers)、通用定时器(General-Purpose Timers)和高级定时器(Advanced-Control Timers)。以下是这三种定时器的主要功能概述:

1. 基础定时器(Basic Timers)

主要功能

  • 基本计时:基础定时器具有较为简单的功能,通常用于基本的计时和触发任务。
  • 触发输出:能够触发输出,直接驱动DAC(数字到模拟转换器)。

使用场景

  • 定时任务
  • 驱动DAC

特点

  • 通常只有两个定时器(如STM32F4系列中的TIM6和TIM7)。
  • 只支持向上计数模式。
  • 只支持内部时钟源。

2. 通用定时器(General-Purpose Timers)

主要功能

  • 基本计时:包含基础定时器的所有功能。
  • PWM生成:能够生成PWM(脉冲宽度调制)波形,用于电机控制等场景。
  • 脉冲计数:能够计数外部脉冲,用于频率测量等。
  • 输入捕获:捕获外部信号的边沿变化,用于测量外部信号的频率或脉宽。
  • 输出比较:将计数器值与预设值进行比较,并根据比较结果控制输出。

使用场景

  • PWM控制
  • 频率测量
  • 脉冲计数
  • 输入信号捕获

特点

  • 通用定时器数量较多(如STM32F4系列中有10个)。
  • 支持向上计数、向下计数和中央对齐计数模式。
  • 支持内外部时钟源。

3. 高级定时器(Advanced-Control Timers)

主要功能

  • 通用定时器的所有功能:包括PWM生成、脉冲计数、输入捕获、输出比较等。
  • 特殊功能
    • 相位锁定回路(PLL):支持相位锁定回路,用于时钟同步。
    • 编码器接口:支持编码器接口,用于读取编码器的位置信息。
    • 三角波生成:能够生成三角波等复杂波形。
    • 重复计数器:用于在计数器溢出时重复计数,延长定时时间。
    • 死区生成:在PWM输出时生成死区时间,防止互补输出同时导通导致短路。
    • 互补输出:支持互补输出,用于驱动三相无刷电机等需要互补信号的负载。
    • 刹车输入:支持刹车输入,用于在紧急情况下切断电机输出。

使用场景

  • 音频处理
  • 高级电机控制
  • 编码器接口

特点

  • 高级定时器数量较少(如STM32F4系列中有2个,TIM1和TIM8)。
  • 功能最为强大,适用于需要复杂定时和控制的应用场景。

在我学习的f1(f103)系列中,有基础定时器2个(TIME6、TIME7),通用定时器4个(TIME 2-5),高级定时器2个(TIME1、TIME8)。

综上所述,STM32中的定时器根据功能复杂程度划分为基础定时器、通用定时器和高级定时器,每种定时器都有其特定的功能和适用场景。在实际应用中,可以根据具体需求选择合适的定时器类型。

4.通用计时器结构框图

 

APB1总线不倍频是36MHZ,APB2是72MHZ 

基本定时器和通用定时间的来源都是APB1,不过要倍频成72MHZ,而高级定时器来自APB2,直接是72MHZ。

2.通用计时器配置步骤

TIM_Presaler  预分频寄存器

TIM_CounterMode 计数器模式    向上计数、向下计数、中心对称计算(向上向下计数)

TIM_Period          自动重载值  

TIM_ClockDivision  时钟分频影子 通常设置成1,不分频

TIM_RepetitionCounter  重复计时器,用在高级定时器上的(8位)

1Khz等于1ms 2Khz=0.5ms 时间是频率的倒数 1S=1000ms

3.实验功能

定时器初始化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值