关于stm32的COM事件,搞BLDC的伙伴们,注意啦
想在stm32的com中断里面读取BLDC的开关表,按照stm32的技术手册高级定时器那部分说明配置了代码:用tim2(hall定时器)的OC2REF作为tim2的TRGO信号,触发tim1产生COM事件,此时tim1的从模式控制为:触发模式。不知道为什么,即使在关闭tim1的从模式情况下,也会影响程序的执行顺序,只有在关闭OC2REF的情况下,程序才能正常执行。是不是OC2REF信号影响单片机的执行啊?、郁闷死了,,,,求大神帮助啊,部分代码如下:tim2的TRGO部分:
TIM_OCInitTypeDefTIM_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中断
如果有前辈们配置过这部分的话,可以共享下您的代码吗 ,谢谢了 不懂,帮顶。 可以把全部的配置发上来吗我也在做BLDC但是com 总是进不去 楼主问题解决了吗,遇到同样问题,求指教! 不懂,顶,,com事件什么时候就产生了 楼主,请问怎么解决的? hezhifeng12389 发表于 2018-6-30 20:10
楼主,请问怎么解决的?
你在搞无刷电机吗?我也在搞这个com事件,咱俩可以交流交流相互学习。 hezhifeng12389 发表于 2018-6-30 20:10
楼主,请问怎么解决的?
你在搞无刷电机吗?我也在搞这个com事件,咱俩可以交流交流相互学习。
页:
[1]