STM32_3

定时器:

 

定时器种类 位数  计数模式   产生DMA请求     捕获/比较通道 互补输出 特殊应用场景

高级定时器 16   上、下、上下   可以           4                   带可编程死

(TIM1TIM8)                                                      区的互补输出

 

通用定时器32   上、下、上下    可以           4            通用定时器、PWM

(TIM2TIM5)                                                    输波输出、输入捕获、输出比较

 

通用定时器16   上、下、上下    可以           4             通用定时器、PWM

(TIM3TIM4)                                                     输波输出、输入捕获、输出比较

 

通用定时器16               没有          2             通用定时器、PWM

(TIM9~TIM14)                                                   输波输出、输入捕获、输出比较

 

基本定时器16   上、下、上下   可以                 0                   主要应用于驱DAC

TIM6TIM7

 

TIM3~TIM6四个通道作用:

       输入捕获

       输出比较

       PWM波生成

       单脉冲模式输出

可编程预分频器:

       16位数据,范围1~65535

基时单元:

       计数寄存器

       预分频寄存器

       自动重装载寄存器

时钟选择:

1、内部时钟(CK_INT

2、外部时钟模式1

3、外部时钟模式2

4、内部触发输入

内部时钟配置:

               ×1/×2                                        ÷N

APB1时钟———————》F(CK_PSK)———————》(CK_INT

除非APB1的分频系数是1,否则通用定时器的时钟等于APB1时钟的2倍。

 

 

 

默认调用SystemInit函数情况下:

SYSCLK=168M

AHB时钟=168M

APB1时钟=42M

所以APB1的分频系数=AHB/APB1时钟=4

所以,通用定时器时钟CK_INT=2*42M=84M

 

Tout(溢出时间)=ARR+1)(PSC+1)/Tclk

以上面的情况为例

Tout(溢出时间)=ARR+1)(PSC+1)/84M

ARR:自动重装载的最大值(16为最大值为65535);

PSR:预分频系数(可根据实际情况设置最大值65535);

 

定时器中断实现步骤:

   能定时器时钟。

       RCC_APB1PeriphClockCmd();

 初始化定时器,配置ARR,PSC

      TIM_TimeBaseInit();

 开启定时器中断,配置NVIC

      NVIC_Init();

 使能定时器。

      TIM_Cmd();

 编写中断服务函数。

      TIMx_IRQHandler();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值