欢迎光临散文网 会员登陆 & 注册

TIM(Timer)定时器学习打卡

2022-08-11 11:08 作者:傅李耶  | 我要投稿

1、定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断(基本功能)

2、构成:16位计数器、预分频器、自动重装寄存器的时基单元

3、功能:基本的定时中断功能、内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式

4、分类:高级定时器(TIM1、TIM8)、通用计时器(TIM2、3、4、5)、基本定时器三种(TIM6、7)

5、相关内容:PWM驱动(输出比较功能),测量方波频率(定时器输入捕获功能),定时器的编码器接口

定时器本质上也是一个计数器

在72MHZ计数时钟下可以实现最大59.65s的计时(1/(72M/65536/65536))(中断频率)

STM32的定时器支持级联模式

高级定时器:

所连总线:APB2(性能更高)

拥有通用定时器的全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能

通用定时器:

所连总线:APB1

拥有基本定时器全部功能,并具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能

基本定时器:

所连总线:APB1

拥有定时中断、主模式触发DAC的功能


三种定时器由高级向低级向下兼容

库函数中除了TIM1~8还有9、10、11等,但一般用不到

STM32F103C8T6定时器资源:TIM1到TIM4(一个高级定时器、三个通用计时器)

时基单元工作流程:

基准时钟——预分频器(分频)——计数器(计数自增并不断与自动重装寄存器进行比较,当二者值相等时即计时时间到——产生一更新中断和更新事件——CUP响应更新中断)

主模式触发DAC功能:

能够让内部硬件不受程序控制下实现自动运行

用途:在使用DAC时可能用DAC输出一段波形,需要设计定时器中断,中断程序中使用代码触发DAC转换然后DAC输出,频繁调用中断会使主程序处于频繁被中断的状态,影响主程序的运行和其他中断响应。使用主模式则可以将定时器的更新事件映射到触发输出TRGO(Trigger Out)位置,(TRGO直接接到DAC的触发引脚上)定时器的更新不需要通过中断触发DAC转换,只需将更新事件通过主模式映射到TRGO,然后TRGO就会直接触发DAC,无需软件参与,实现硬件的触发

基本定时器只支持向上计数(计数器从0开始,向上自增,计数到重装值,清零并申请中断,开始下一轮循环)一种模式

通用计数器和高级定时器还支持向下计数模式和中央对齐模式

向下计数模式:从重装值开始向下自减,减到0后回到重装值,同时申请中断,继续下一轮

中央对齐计数模式:从0开始,先向上自增,计数到重装值,申请中断,再向下自减,减到0,申请中断,继续下一轮

主要掌握向上计数模式

时钟输入:

基本计时器只能选择内部时钟(系统频率72MHz),通用计时器不仅可以选择内部时钟还可以选择外部时钟——TIMx_ETR引脚上的外部时钟

外部时钟模式1的输入可以是ETR引脚、其他定时器、CH1引脚边沿、CH1引脚、CH2引脚

一般情况下,外部时钟通过ETR引脚即可

使用外部时钟首选ETR引脚外部时钟模式2的输入(最简单、最直接) 

TIM(Timer)定时器学习打卡的评论 (共 条)

分享到微博请遵守国家法律