stm32F407学习DAY.12(1) 通用定时器与定时器中断实验(含溢出时间Tout计算公式)

文章详细介绍了STM32F407通用定时器的结构,包括时基电路、预分频器和计数器的工作原理,并提供了内部和外部时钟源的配置方法。通过实例展示了如何设置库函数和寄存器以实现定时器中断,以及中断服务函数的编写。此外,还讨论了如何根据需求配置定时器的溢出时间和中断频率。

目录

STM32F407定时器概述

一、通用定时器(以TIM2~5为例)

1、概述

2、计数器框图

1)时基电路时钟源CK_PSC的四种来源:

2)时基单元

3)预分频器时序

4)计数器时序

二、定时器中断试验(内部时钟源)

1、常用库函数:stm32f4xx_tim.c/.h

​2、寄存器配置

1)计数器TIMx_CNT​

 2)TIMx 预分频器 TIMx_PSC​

 3)TIMx 自动重载寄存器 TIMx_ARR

 4)TIMx 控制寄存器 1  TIMx_CR1

 5)TIMx DMA/中断使能寄存器 TIMx_DIER 

3、定时器初始化

1)选择时钟

内部时钟的配置

2)定时器时基初始化

3)定时器中断开启与配置

       4、定时器中断服务函数 

三、定时器中断实验(外部时钟源)

1、写明时钟来源

 2、在定时器初始化函数中增加对IO口的配置

 3、代码


STM32F407定时器概述

一共14个,包含12个16位计数器和2个32位计数器。

一、通用定时器(以TIM2~5为例)

1、概述

 

 可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。

使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。

STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。

2、计数器框图

1.定时器时钟来源(含内部时钟84MHz和各路外部时钟)产生时基电路时钟源CK_PSC       

2.时基电路        3.输入捕获        4.输出比较         5.相关捕获/比较寄存器

 图源中文参考手册p393

名词注解:

TIMx_ETR:TIMER外部触发引脚      ETR:外部触发输入

ETRP:分频后的外部触发输入           ETRF:滤波后的外部触发输入

ITRx:内部触发x(由其他定时器触发,也是外部触发方式)(定时器级联时使用)

TI1F_ED:TI1的边沿检测器

TI1FP1/2:滤波后定时器1/2的输入

TRGI:触发输入  TRGO:触发输出

CK_PSC:分频器时钟输入

CK_CNT:定时器时钟。(定时周期的计算就靠它)

TIMx_CHx:TIMER的输入脚  TIx:应该叫做定时器输入信号x

ICx:输入比较x  ICxPS:分频后的ICx

OCx:输出捕获x  OCxREF:输出参考信号

1)时基电路时钟源CK_PSC的四种来源:

1)内部时钟CK_INT

2)ETRF时钟:定时器外部引脚TIMx_ETR,经过极性选择、边沿检测、预分频器后再经过输入滤波,产生ETRF时钟信号

3)ITR0~ITR3:内部触发输入口,用于定时器级联(一个定时器的输出作为另一个定时器的输入),来自于其他定时器

4)TI1F_ED、TI1FP1、TI1FP2,来源于定时器外部通道引脚TIMx_CH1、TIMx_CH2

CK_PSC经过预分频后生成CK_CNT,为计数器最终的时钟来源。

2)时基单元

可编程定时器的主要模块由一个 16 位/32 位计数器及其相关的自动重装寄存器组成。此计数
器可采用递增方式计数。计数器的时钟可通过预分频器进行分频。 

下图为基本定时器框图,截取只为了表达时基单元的结构

时基单元包括:
● 计数器寄存器 (TIMx_CNT)
● 预分频器寄存器 (TIMx_PSC)
● 自动重载寄存器 (TIMx_ARR)


 时基电路配置计数器模式为向上/向下/中央对齐:

通用定时器可以向上计数、向下计数、向上向下双向计数。

①向上计数模式:计数器从0计数到自动加载值(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值