TIMx的内部触发输入

2019-08-17 03:22发布

刚学习了手册的TIMx部分,有几个关于时钟模式的问题,想请教一下:

1、外部时钟模式1:使用的时候,必须用捕获来获取TIMx_CHy作为TIx的上升沿;
                                             必须对SMS[2:0]进行设置,选用外部时钟模式1,即设置为“111”;
                                             TS[2:0]也需要设置,可选值为:100/101/110;

2、外部时钟模式2:不需要配置为从模式,输入的ETR依旧是TIMx_CHy的一种;
                           关键的设置为ETP和ECE,ETP用来设置触发的边沿,ECE用于使能计数,
                           一旦使能了ECE,只要TIMx_CHy输出的信号为ETP所设置的触发边沿,就计数+1;
                           Q1:需要设置TS[2:0]=111,即外部触发输入吗?(参考手册上没有此步)
                           Q2:ETR还是TIMx_CHy的一种吗?如果是,怎么配置对应的信号连接?

3、采用内部触发时,必须用到两个TIM,一个设置为主模式,另一个为从模式;
                             内部的输入ITRx是TIMx_CHy的输出,从模式为:门控模式时,由主定时器输出的OCxREF控制启停;
                                                                               从模式为:触发模式时,由更新事件UEV来触发



4>我采用内部触发的门控模式,来控制输出指定个数的PWM波:
    方案:采用TIM3_CH3,作为主模式;其输出的OCxREF高低电平来门控TIM4从模式,来计数TIM3产生的PWM个数
                    ①初始化GPIOB.0(TIM3_CH3),配置TIM3的时基模式,并配置TIM3_CH3的PWM输出;//只配置,不是能计数
                    ②中断服务TIM3_TRQHandler中,检查是否有中断,并清除
                               这里:中断服务函数是自动进入的吗??? 为什么在stm32f10x_it.c里面没有TIMx的中断服务函数???
                    ③TIM4的时基配置,(能否不进行输出配置???)
                       TIM_OCInitStructure.TIM_Pulse=**;//这个参数是对CCRx进行赋值吗??
                       从图139可见,每次主定时器电平变化时,TIM4_SR中的TIF位都会变为高电平,
                       因此选择每次TIF=1时,进行计数num++;并且清除TIF位;
                               这里:每次TIF=1.触发器中断等待响应,是否会在此处进入
TIM4_TRQHandler  ??? 
                    ④进行主从模式的配置
                         配置TIM3为主模式:MMS=110;//将OC3REF作为触发输出
                         配置TIM4为从模式:TS=010;//内部触发2;   门控模式SMS=101;
                         使能TIM3和TIM4计数

                    ⑤TIM4中断服务函数:
                            判断TIF是否为1(这句写法??? if (TIM_GetITStatus(TIM4, TIM_IT_CC3) != RESET)    )
                                          TIM_IT_Trigger和 TIM_IT_CC3 这个地方分不清,请哪位前辈解释一下??? 
                            num++;CNT清0(防止溢出) 
                            设指定输出的PWM波为x个,则计数到num=2*x关闭TIM3的CEN位。

另:如果我想用寄存器来读取TIMx_SR中的TIF(bit6),判断其是否为1,请问怎么写?
               
问题有点多,请帮忙指点一下,谢谢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。