关于定时器主从模式

2019-08-17 07:37发布

最近做项目,看多代码有些地方又有些迷糊了,希望高手给解答一下。
例如:TIM1是从模式,TIM2是主模式。
根据TIM_SelectInputTrigger(TIM2, TIM_TS_TI1F_ED)设置,又有下图

  
TIM2起的作用是:当捕获到霍尔传感器的异或值有变化时,就触发TIM2的中断。TIM2的CCR1用来存储捕获
发生时TIM2_CNT的值,然后CCR1清零。主定时器再去触发从定时器中断,从而实现换相。在这个过程中我有
三点不明白,希望高手给指点一下,在这里谢谢了。
  
            1、主定时器是如何去触发从定时器中断(COM事件)的,在何时去触发的?

            2、 TIM_SelectSlaveMode(主定时器还是从定时器?, TIM_SlaveMode_Reset),红 {MOD}字体部分是应该
                   写成TIM2(主定时器)还是TIM1(从定时器),有此疑问是因为两种写法的都有,怎么理解呢?

            3、 TIM_TimeBaseStructure.TIM_Prescaler = 71;
                  TIM_TimeBaseStructure.TIM_Period =50000;
                   TIM_OCInitStructure.TIM_Pulse =1023; 看到很多人在主定时器配置中都有这句,不理解是怎么来的?

          希望明白的人能给指点一二,谢谢...

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
lycreturn
2019-08-17 11:33
1、主定时器可以选择送出 多种TRGO信号到其他定时器(从模式定时器)  包括复位,使能,更新,比较脉冲等TRGO信号(参考TIMx-CCR2),其中比较脉冲信号是指在主定时器发生捕获或者比较时,送出一个正脉冲到从定时器,这个实用你上面的条件
2、根据函数名也可看出是配置从模式寄存器的,所以应该是TIM1,而且参数TIM_SlaveMode_Reset 是指从模式定时器收到主模式的上升沿(上面1所说的正脉冲)触发信号后,从模式定时器复位
3、这个是在定时器做输出时使用,比如输出PWM, 红 {MOD}部分就用作调节PWM占空比的
这些参考手册都有说明,下去认真看看应该可以理解

一周热门 更多>