开发平台
- 野火STM32F429开发板
- 使用标准库开发
高级定时器
- 高级定时器其实就是基本定时器加上输入捕获、输出比较和断路死区,所以有四个初始化函数:
- 定时器时基初始化函数
TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct); - 输出比较初始化函数
TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); - 输入捕获初始化函数
TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct); - 死区初始化函数
TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct);
编程思路
- 初始化RGB灯的引脚
- 驱动DHT11(上一篇)
- 定时器时基初始
- 定时器输出比较初始化
-
配置基本定时器:
void BASE_Tim_Config (void) { TIM5_CLK_ENABLE(); TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;