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,请问怎么写?
               
问题有点多,请帮忙指点一下,谢谢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-08-17 09:13
确实问题比较多,建议好好研究下stm32的参考手册。
Vv_M
2楼-- · 2019-08-17 10:51
回复【2楼】正点原子:
---------------------------------
我就是看完之后,感觉有一堆的疑问…╮(╯▽╰)╭
逗留点点
3楼-- · 2019-08-17 12:31
回复【3楼】Vv_M:
---------------------------------
跟我一样疑惑啊,最后怎么个结果,能否给后生一个解释呀
liyuan
4楼-- · 2019-08-17 15:05
正点原子 发表于 2014-3-21 14:48
确实问题比较多,建议好好研究下stm32的参考手册。

这里面的定时器级联,用门控模式时,当触发输入为高时,计数器的时钟开启。级联后,从模式的TIMx还用时钟吗?如果不用时钟,只使用它的计数功能,即住定时器触发一次,从定时器的计数器加1,怎样实现这种功能?

一周热门 更多>