stm32f103高级定时器TIM1更新中断管理波形求助!!

2019-08-13 19:51发布

IMG_0219.JPG
如图:黄 {MOD}=CH1,紫 {MOD}=CH1N   现在我要做的是在更新中断里 通过反馈电压ADC去调节 CH1的波形  也就是打开或者关闭  但是现在的问题是:在我开关CH1时 CH1N会出现不正常的情况 可以看到紫的的CH1N会有一个尖峰脉冲多余的  代码如下:

void TIM1_UP_IRQHandler(void)
{
  if ( (TIM1->SR & TIM_IT_Update) && (TIM1->DIER & TIM_IT_Update) )
  {
    switch ( MachineControl.StartFinshFlag )
    {
     case 1:
                          PidAdjust.FeedBackCurr =
                                (ADC_ConvertedValue[0][1] + ADC_ConvertedValue[1][1] +
                                 ADC_ConvertedValue[2][1] + ADC_ConvertedValue[3][1] +
                                 ADC_ConvertedValue[4][1] + ADC_ConvertedValue[5][1] ) / 6 ;
                                if ( PidAdjust.FeedBackCurr > 400 ) ///<ADC调节
                          {
                                        TIM1->CCER &= (u16)0xFFFE ;///<关闭CH1的输出状态           
                                }
                                else
                          {
                                        TIM1->CCER |= (u16)0x0001 ;///<打开CH1的输出状态               
                          }
                          break;
    }
   TIM1->SR = (u16)~TIM_IT_Update;               
  }
}
恳求各位支援 谢谢了!!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。