STM32通用定时器

1.1通用定时器简介

F1系列通用定时器为TIM2/3/4/5,相比于基本定时器,除了拥有其全部功能外,另外增加了极性选择,触发输出ADC,并且会产生触发事件、输入捕获、输出比较,拥有四个独立通道。 

通用定时器共有6个部分其中45,56是分别搭配分时复用的,既使能45,6关闭,使能56,4关闭。在时钟源,共有四种方式进行触发,控制器的TRGO多出了ADC触发。

1.2通用定时器的4种时钟源

1.2.1内部时钟:与基本定时器的时钟一致。来自APB总线。

1.2.2外部1模式:外部模式1来自与IO的复用功能,将IO口复用为一个定时器通道进行输入捕获的时钟源,经过滤波器后进行极性选择,随后进入触发选择,进入从模式选择随后进入时基单元。

上图为TRGO输入的两种时钟模式,分别为内部时钟与外部时钟模式1,通过配置TIMX-SMCR寄存器的SMS3位。 而TIMX-SMCR的TS位可以配置输入的极性选择,有上边沿计数,下边沿计数,双边沿计数,其中上边沿信号来自通道1下边沿信号来自通道2,双边沿信号来自通道1.由于TRGI是上边沿,所以只会检测到上边沿,使用下边沿计数要进行反向。ETRF同理。

 1.2.3外部模式2:

直接将一个IO口配置成ETR引脚,检测输入的电平作为时钟,进入ETRF

以上为寄存器配置

外部模式1+TRGI触发输入改成ETRF=外部模式2,区别在于TRGI能产生触发事件(更新)

  外部模式2 的时钟源来自io口的复用,外部引脚的电平经过极性选择后进行分频,滤波后由ETRF进入从模式并进如时基单元。

总结:

2.1.4级联模式

一个定时器作为另一个定时器的“分频器”。设置两个定时器为一主一从,主模式MMS赋值010,将溢出更新事件延续给TRGO,当定时器1发生一个更新事件后,定时器2配置成外部定时1模式,每有一个更新事件,定时器二接收到一个脉冲。

定时器的主从根据ITR0  1  2  3(TS位)配置

2.1定时器硬件

2.1.1滤波器

选定滤波器与采样次数后,会进行如上操作,当一个时序跳变后,如果在一个周期内,跳变时序不满足8次采样,记为无跳变,维持原信号,反之8次为跳变,极大的减少了毛刺干扰。

无滤波器时,Fdts=定时器的时钟

2.1.3输出比较

配置成输出比较通道后,输入捕获功能会自动关闭,开启输出比较后,CNT计数器寄存器会与CCR比较寄存器进行比较,大于与小于会输出不同结果。

oc1m选择定时器输出模式

定时器输出比较分为两种比较模式,第一种携带影子寄存器,携带影子寄存器后,会把新写入的CCR赋给预装载寄存器,移除后赋给影子寄存器与技术及比较,第二种不携带影子寄存器,会在写完ccr后立马赋值给比较寄存器。进行比较。

中断代码

通用中断代码没有HAL库的公共处理函数,通过判断定时器的挂起标志位来进行操作,并手动清除标志位。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值