在前面文章《STM32-一文搞懂通用定时器捕获/比较通道》已经详细介绍了输入STM32的捕获/比较通道,这边文章来写比较通道的PWM的应用。
配置步骤
- 使能定时器(通用定时器在APB1下)和相关IO(APB2下)时钟
- void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
- void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
- 初始化IO口为复用功能输出
- void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
- 重映射相关引脚为PWM输出
- void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);
- 初始化定时器(主要是配置ARR和PSC)
- void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);
- 初始化通道x输出比较参数
- void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeD
- void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);