stm32的COM事件影响程序的执行顺序

2019-07-18 17:20发布

     想在STM32的com中断里面读取BLDC的开关表,按照stm32的技术手册高级定时器那部分说明配置了代码:用tim2(hall定时器)的OC2REF作为tim2的TRGO信号,触发tim1产生COM事件,此时tim1的从模式控制为:触发模式。不知道为什么,即使在关闭tim1的从模式情况下,也会影响程序的执行顺序,只有在关闭OC2REF的情况下,程序才能正常执行。是不是OC2REF信号影响单片机的执行啊?、郁闷死了,,,,求大神帮助啊,
    部分代码如下:tim2的TRGO部分:
                                                                  TIM_OCInitTypeDef  TIM_OCInitStructure;
                                                            //OC2REF配置:用于触发TIM1的com事件
                                                            TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
                                                            TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
                                                            TIM_OCInitStructure.TIM_Pulse = 1;
                                                            TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
                                                            TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
                                                            TIM_OC2Init(TIM2, &TIM_OCInitStructure);
                                                            /*OC2REF signal is used as the trigger output*/
                                                            TIM_SelectOutputTrigger(TIM2,TIM_TRGOSource_OC2Ref);
                   tim1的从模式配置部分:
                                                     
                                                        TIM_CCPreloadControl(TIM1, ENABLE);            //Enable Capture Compare Preload Control
                                                        TIM_SelectCOM(TIM1, ENABLE);                    //允许外部硬件触发com事件
                                                        TIM_SelectInputTrigger(TIM1,TIM_TS_ITR1);  //tim2的TRGO触发tim1
                                                        TIM_SelectSlaveMode(TIM1,TIM_SlaveMode_Trigger);//tim1的从模式配置为:触发模式
                                                        TIM_ITConfig(TIM1, TIM_IT_COM,ENABLE);   //开启COM中断




如果有前辈们配置过这部分的话,可以共享下您的代码吗      ,谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。