STM32HAL库——定时器中断
所用工具
- 芯片:STM32F103RC(基于F1系列的芯片)
- STM32CubeMx软件:用于生成初始化配置的代码
- IDE:MDK-Keil软件
- STM32F1xxHAL库
知识概括
1.STM32F1
系列芯片的定时器原理
2.STM32CubeMx创建定时器例程
3.HAL
库TIM
定时器的函数库
4.定时器中断的创建和使用
STM32定时器的介绍
- STM32F1系列芯片共有8个定时器:
高级定时器:TIM1/TIM8
通用定时器:TIM2/TIM3/TIM4/TIM5
基本定时器:TIM6/TIM7 - STM32F4系列芯片共有15个定时器:
高级定时器:TIM1/TIM8
通用定时器:TIM2/TIM3/TIM4/TIM5、TIM9~TIM14
基本定时器:TIM6/TIM7
- 基本定时器功能(TIM6、TIM7):
1.16位向上、向下、向上/下自动装载计数器
2.16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
3.触发DAC
的同步电路 (注:此项是TIM6/7独有功能.)
4.位于APB1
总线上
- 通用定时器(TIM2~TIM5)的主要功能:
1.16位向上、向下、向上/下自动装载计数器
2.16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
3.4个独立通道(TIMx_CH1~4)可以用作:
测量输入信号的脉冲长度(输入捕获)
输出比较
单脉冲模式输出
PWM输出(边缘或中间对齐模式)
4.支持针对定位的增量(正交)编码器和霍尔传感器电路
5.如下事件发生时产生中断/DMA:
更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
输入捕获
输出比较
6.位于APB1
总线上
- 高级定时器(TIM1,TIM8)的主要功能:
1.高级定时器具有基本,通用定时器的所有的功能
2.还具有控制交直流电动机所有的功能
3.输出6路互补带死区的信号,刹车功能等等
4.位于APB2
总线上
- 总结:
基本定时器就是单纯的定时计数器;通用定时器多了四个通道,相对应的增加了功能;高级定时器具有基本、通用定时器的所有的功能,并且增加了其它的一些功能