STM32 高级定时器产生PWM波第一个脉宽很长的问题
芯片是STM32F103VE,通道部分设置程序为:TIM1->BDTR |= TIM_BDTR_OSSR;
TIM1->BDTR |= TIM_BDTR_MOE;
TIM1->CCR1 = 120;
TIM1->CCMR1 &= (~TIM_CCMR1_CC1S);//Output Mode
TIM1->CCMR1 &= (~TIM_CCMR1_OC1M);
TIM1->CCMR1 |= TIM_OCMode_PWM1;
TIM1->CCER &= (uint16_t)(~((uint16_t)TIM_CCER_CC1P));
TIM1->CCER |= TIM_OCPolarity_Low;
TIM1->CCER &= (uint16_t)(~((uint16_t)TIM_CCER_CC1NP));
TIM1->CCER |= TIM_OCNPolarity_Low;
TIM1->CR2 &= (~TIM_CR2_OIS1);
TIM1->CR2 &= (~TIM_CR2_OIS1N);结果波形如下图所示,第一个脉宽明显大很多。
你应该在配置完定时器的所有参数后才启动定时器。 同理。。。 nice。。。 是不是初始值不正确? 定时器太快开启了。 2 楼说的很对!!!
页:
[1]