定时器中断

通用TIMx (TIM2、 TIM3、 TIM4和TIM5)定时器功能包括:
● 16位向上、向下、向上/向下自动装载计数器
● 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意
数值
● 4个独立通道:
─ 输入捕获
─ 输出比较
─ PWM生成(边缘或中间对齐模式)
─ 单脉冲模式输出
● 使用外部信号控制定时器和定时器互连的同步电路
● 如下事件发生时产生中断/DMA:
─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
─ 输入捕获
─ 输出比较
● 支持针对定位的增量(正交)编码器和霍尔传感器电路
● 触发输入作为外部时钟或者按周期的电流管理

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

计数器寄存器(TIMx_CNT)
该寄存器是定时器的计数器,该寄存器存储了当前定时器的计数值

预分频器寄存器 (TIMx_PSC)
频率,是单位时间内完成周期性变化的次数

预分频器可以将计数器的时钟频率按1到65536之间的任意值分频。
这里写图片描述
这里的 CK_INT
时钟是从 APB1 倍频的来的,除非 APB1 的时钟分频数设置为 1,否则通用定时器 TIMx 的时钟是 APB1 时钟的 2 倍,当 APB1 的时钟不分频的时候,通用定时器 TIMx 的时钟就等于 APB1的时钟。这里还要注意的就是高级定时器的时钟不是来自 APB1,而是来自 APB2 的。
APB1 为 36M
定时器频率:f=APB1/(预分频器的值+1)
这里写图片描述
自动装载寄存器 (TIMx_ARR)
定时器定时时间:(arr+1)*(1/f)

控制寄存器 1(TIMx_CR1)

捕获/比较寄存器 1(TIMx_CCR1)
若CC1通道配置为输出:
当前捕获/比较寄存器参与同计数器TIMx_CNT的比较,并在OC1端口上产生输出信号。
计数器模式
在向上计数模式中,计数器从0计数到自动加载值(TIMx_ARR计数器的内容),然后重新从0开始计数并且产生一个计数器溢出事件。

猜你喜欢

转载自blog.csdn.net/qq_19999465/article/details/78136143