STM32F407(3)

三种定时器:高级定时器、通用定时器、基本定时器。

STM32F407ZGT6有14个定时器:12个16位定时器、2个32位定时器(更高精度、更长时间)。

高级定时器(TIM1、TIM8):位数(16位),计数器模式(向上、向下、向上 / 下),可产生DMA请求,输出 / 比较通道(4),互补输出,带可编程死区的互补输出。

通用定时器(TIM2、TIM5):位数(32位),计数器模式(向上、向下、向上 / 下),可产生DMA请求,输出 / 比较通道(4),定时计数、PWM输出、输入捕获、输出比较。

通用定时器(TIM3、TIM4):位数(16位),计数器模式(向上、向下、向上 / 下),可产生DMA请求,输出 / 比较通道(4),定时计数、PWM输出、输入捕获、输出比较。

通用定时器(TIM9-14)       :位数(16位),计数器模式(向上)                               ,                            ,输出 / 比较通道(2),定时计数、PWM输出、输入捕获、输出比较。

基本定时器(TIM6、TIM7):位数(16位),计数器模式(向上、向下、向上 / 下),可产生DMA请求,输出 / 比较通道(0),主要应用于驱动DAC。

TIM2-5定时器的特点:1、16位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为1-65535之间 的任意数值。

                                         2、4个独立通道(TIMx_CH1-4):输入捕获、输出比较、PWM生成(边缘或中间对齐(向上 / 下计数))、单脉冲模式输出。

                                         3、6个独立的IRQ / DMA请求生成器,每个通用定时器是完全独立的,没有相互共享任何资源 。

时钟来源:

1、APB1倍频 -> 内部RCC提供的时钟 (TIMxCLK)-> 内部时钟(CK_INT) -> CK_PSC

2、TIMx_ETR外部引脚  -> 极性选择、边沿检测、预分频 -> 滤波 -> ETRF -> CK_PSC

3、其他定时器输出 -> 内部触发输入口(ITR0-3)(支持定时器级联) -> CK_PSC

4、定时器外部通道 -> TI(1-4)-> 输入滤波器、边沿检侧器 -> TI1F_EO / TI1FP1 / TIAFP2 -> CK_PSC

时钟来源 -> 时基单元(计数寄存器(TIMx_CNT)、预分频寄存器(TIMx_PSC)、自动装载寄存器(TIMx_ARR)) -> 输入捕获 / 输出比较

相关寄存器:计数器当前值寄存器(TIMx_CNT、0-15位)、预分频寄存器(TIMx_PSC、0-15位)、自动重装载寄存器(TIMx_ARR、0-15位)、

                     控制寄存器(TIMx_CR、0-9位)、DMA中断使能寄存器(TIMx_DIER、0-15位)

输入捕获:

通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升 / 下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获 / 比较寄存器(TIMx_CCRx)里面,完成一次捕获。

输入捕获过程(通道1为例):TI1 -> 滤波器(设置输入采样频率(fDTS)和数字滤波器的长度、防信号抖动)  -- TI1F -> 边沿检侧器  -- (TI1F_Rising / Falling)

                                                       -> 选择器     --   TI1FP1 --> 选择器 -- IC1--> 分频器 (例如分频n,就是n次边沿产生一次捕获)-->IC1PS --> 触发中断

寄存器(TIM5CH1_CAPTURE_STA):  bit7(捕获完成标志)、bit6(获得到高电平标志)、bit(0-5)(捕获高电平后定时器溢出次数)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值