STM32定时器概述
STM32F40x系列总共最多有14个定时器,定时器分为三类:基本定时器、通用定时器和高级定时器。它们的都是通过计数来达到定时的目的,和51的定时器差不多,基本原理都是一样的,就是功能多了一些,这些计数器都是自动重新装载初值的,使用起来非常方便,而且计数时钟频率可以通过分频系数来设置。本文章将介绍使用定时器中断来控制LED间隔1s闪烁。
计数的时钟来源主要有四个:
- 内部时钟CK_INT
- 外部时钟模式1:外部输入脚TIx
- 外部时钟模式2:外部触发输入ETR,仅适用于 TIM2、 TIM3、 TIM4
- 内部触发输入ITRx:使用 A 定时器作为 B 定时器的预分频器(A为B提供时钟)
我们使用定时器内部时钟,即CK_INT作为计数器的时钟源 = 168MHz / 2 = 84MHz
时钟框图如下:
定时器的配置
1.使能定时器时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); //定时器3时钟使能