想在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中断 如果有前辈们配置过这部分的话,可以共享下您的代码吗 ,谢谢了 |
你在搞无刷电机吗?我也在搞这个com事件,咱俩可以交流交流相互学习。
你在搞无刷电机吗?我也在搞这个com事件,咱俩可以交流交流相互学习。