首先改成 1个PWM周期 更新2次占空比,即上溢和下溢都进PWM中断。
程序改动如下。
1. TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned3;
//之前为 TIM_CounterMode_CenterAligned1;
2. TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; // 之前为 1.
3. TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Disable); // 之前为TIM_OCPreload_Enable
改动完后,发现运行异常。用示波器看波形,发现PWM中程序运行时间不够了。
改PWM周期 为 125us ,异常消失。
文章评论(0条评论)
登录后参与讨论