最近做项目,看多代码有些地方又有些迷糊了,希望高手给解答一下。
例如: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; 看到很多人在主定时器配置中都有这句,不理解是怎么来的?
希望明白的人能给指点一二,谢谢...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2、根据函数名也可看出是配置从模式寄存器的,所以应该是TIM1,而且参数TIM_SlaveMode_Reset 是指从模式定时器收到主模式的上升沿(上面1所说的正脉冲)触发信号后,从模式定时器复位
3、这个是在定时器做输出时使用,比如输出PWM, 红 {MOD}部分就用作调节PWM占空比的
这些参考手册都有说明,下去认真看看应该可以理解
---------------------------------
谢谢你的回复。我再理解理解....
---------------------------------
当你使用 TIM_SelectSlaveMode 函数的时候,定时器已经被你配置为从模式了,并非主模式
定时器3的配置如下:
这是电机换相程序的定时器配置片段,换相是在定时器1中进行的,由定时器3去触发定时器1,
依据参考文档,定时器3应该是主定时器,定时器1应该是从定时器,可是本程序在定时器3中加入了
TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset); 我验证了这段程序是好使的。
这个怎么从原理上说通呢?我知道我的理解肯定是有误区的。
一周热门 更多>