stm32f4xx-定时器
文章目录
- 一、硬件定时器
- 1、定义
- 2、STM32F407的定时器有以下特征
- a.所有的定时器都能实现最基本的定时功能
- b.基本定时器是专门提供给音频的输出接口
- c.计数器模式:向上,向下,向上下
- d.DMA(直接存储器访问)请求:传输数据只需要通过DMA,不用经过CPU,减少CPU的占用
- e.PWM是脉冲宽度调制,在工业应用领域用途非常广泛
- f.16位可编程分频器,用于对计数器时钟频率进行分频(运行时修改),分频系数1~65536之间
- 注:
- 3、计数模式
- 二、定时计算
- 1、如果APB预分频器为1,定时器时钟频率等于APB域(APB1和APB2)的频率(一般预分频器不可能为1)
- 2、否则,等于APB域(APB1和APB2)的频率的两倍
- 3、定时器硬件时钟
- 4.定时500ms
一、硬件定时器
1、定义
设置等待时间,到达后则执行指定的操作的硬件
2、STM32F407的定时器有以下特征
具有基本的定时功能,也有PWM输出(灯光的亮度控制、电机的转速)、脉冲捕获功能(红外捕捉)
2个高级定时器、10个通用定时器和2个基本定时器
高级定时器(TIM1 和 TIM8 ),挂载到APB2
具有16位定时器功能,也具有PWM输出高级控制功能
通用定时器(TIM2 到 TIM5),挂载到APB1
具有16位定时器功能,也具有PWM输出控制功能
通用定时器(TIM9 到 TIM14 ),挂载到APB1和APB2
具有16位定时器功能,也具有PWM输出控制功能
基本定时器:(TIM6 和 TIM7),挂载到APB1
具有16位定时器功能
a.所有的定时器都能实现最基本的定时功能
b.基本定时器是专门提供给音频的输出接口
c.计数器模式:向上,向下,向上下
d.DMA(直接存储器访问)请求:传输数据只需要通过DMA,不用经过CPU,减少CPU的占用
e.PWM是脉冲宽度调制,在工业应用领域用途非常广泛
f.16位可编程分频器,用于对计数器时钟频率进行分频(运行时修改),分频系数1~65536之间
注:
TIM是TIMER单词的缩写
通用定时器与高级定时器(CH表示输出通道)
3、计数模式
二、定时计算
《STM32F4XX中文参考手册.pdf》108页
STM32F405xx/07xx和STM32F415xx/17xx的定时器时钟频率由硬件自动设置。分为两种情况:
1、如果APB预分频器为1,定时器时钟频率等于APB域(APB1和APB2)的频率(一般预分频器不可能为1)
2、否则,等于APB域(APB1和APB2)的频率的两倍
关于APB1与APB2预分频值得说明在system_stm32f4xx.c文件的头部,详细描述如下
关于APB1和APB2预分频值设置在system_stm32f4xx.c文件,详细代码如下:
3、定时器硬件时钟
4.定时500ms
//计数值 84000000/8400 = 10000hz/2,决定定时时间1/2秒
TIM_TimeBaseStructure.TIM_Period = (10000/2)-1;
TIM_TimeBaseStructure.TIM_Prescaler = 8400-1; //预分频值 8400-1 + 1 = 8400
//向上计数的方法
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
8400
//向上计数的方法
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);