想在
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中断
如果有前辈们配置过这部分的话,可以共享下您的代码吗 ,谢谢了
一周热门 更多>