STM32的TIMER功能有多强?

jfive   2008-6-13 11:28 楼主
STM32的TIMER有4个通道,这4个通道可以随意配置成输入和输入吗?
如果,我把第一个通道配置成外部计数输入,第二个通道配置成PWM 输出,第三个通道配置成捕获输入,第四个通道配置成波形输出,这样4个通道能同时工作吗?因为只用一个定时器实现这些功能好像不太可能。高人解释一下。

回复评论 (19)

楼主的要求可以满足,STM32中每个定时器都有四个独立的通道

                                 每个通道互不干扰,只用一个定时器可以很容易地实现这些功能。
点赞  2008-6-13 11:33

3楼说的对,我没有注意到楼主的第一个要求是“外部计数输

                                 “外部计数输入”比较特别,如果没有这一项,其他三项可以在一个定时器中实现。
点赞  2008-6-13 11:46

还是不太明白

谢谢大家的回答,还是不太明白,谁能讲得清楚一些。
4个通道能同时作为外部计数吗?
4个通道能同时作为PWM输出吗?
如果能的话,在硬件上是怎么实现的?
点赞  2008-6-13 13:43

把外部脉冲做为STM32的定时器时钟,则可以实现外部计数功能

一个定时器只可能有一个输入时钟,因此做外部计数时,一个定时器只能对一个外部信号计数。

STM32定时器下属的通道不能做外部计数,但可以有其它功能模式:输入捕获、输出比较、PWM输入、PWM输出、单脉冲输出等。因此每个通道都可以单独配置成这些模式之一,而且每个通道的模式可以不一样也可以一样,所以4个通道能同时作为PWM输出。

楼主的问题“第一个通道配置成外部计数输入,第二个通道配置成PWM 输出,第三个通道配置成捕获输入,第四个通道配置成波形输出”,根据上面介绍的原则,“外部计数”不是定时器通道的某种模式,所以我在4楼要排除这个功能,你列出的其它三种功能可以分别在同一定时器的不同通道上实现。顺便说一下,我理解你的“波形输出”就是PWM输出。
点赞  2008-6-13 14:43

波形输出

谢谢版主, “波形输出”指的输出方波,不是PWM,不知道利用输出比较模式能不能实现这个功能?
就是想在通道引脚上自动的输出一定频率的方波,如40khz。
点赞  2008-6-13 14:53

输出一定频率的方波,这不就是PWM输出吗?

                                 只不过它的占空比是固定的1:1,或50%。
点赞  2008-6-13 15:03

输出一定频率的方波,这不就是PWM输出吗?

按版主说的采用PWM模式应该也能出来方波,我看资料还有比较输出模式,也就匹配的时候,我设置翻转引脚电平,我觉得也能出来方波,这两种是不是都可以?
另外用这两种方法最大能达到多少频率的方波?
点赞  2008-6-13 15:25

请楼主具体提出你的需求,这样比较容易讨论

我们不必在此纸上谈兵。

你的这些问题太笼统,回答这些问题意味着给你讲一遍手册,既然这样为什么不自己看?看不懂再来讨论。
点赞  2008-6-13 17:04

请教大家一个菜鸟问题。

在STM32F10X参考手册上的第21(实际36)页,有一个时钟树。
上面"APB1 Prescaler /1,2,4,8,16"下面"TIM2,3,4 *1,2 Multiplier"是不是可倍频的意思呀?
我没有找到这一项的设置呢?
哪一个寄存器位是设置这一项?

菜鸟正在学习,大家帮忙呀!
谢谢啦!!!
点赞  2008-6-14 11:42

在一个定时器的不同通道实现不同的功能是有条件的

                                 请楼主能够提出具体的需求,这样方便讨论。
点赞  2008-6-14 12:27

我觉得

                                 最有用的是好几个定时器可以联合使用, 这个单片机上没有。
点赞  2008-6-14 22:04

我需要实现的功能

我需要控制3种电机,步进电机,伺服电机和直流电机,其中步进电机,伺服电机带驱动器,我们控制步进电机,伺服电机只需要给脉冲信号,同时需要接收编码器的反馈信号,直流电机需要我们提供PWM信号。
请版主指教。
点赞  2008-6-16 09:51

能把你的要求提得再具体一点吗?

打算用什么型号的STM32芯片?多少脚?

如果是使用最大配置的芯片,可以很简单地分别用一个定时器控制一种电机,不必考虑用单一的定时器产生多路信号。

关于PWM信号,你要求的频率是多少?每个电机的频率都一样吗?
点赞  2008-6-16 10:55

再具体点

STM32F103,100脚
但是很多引脚已经使用,所以必须考虑用单一的定时器产生多路信号,这样能实现吗?
其次,我用比较输出模式能自动产生脉冲波形吗?
谢谢版主解答。
点赞  2008-6-16 12:16

还是不太明白——你要求几路PWM输出?频率调节范围是多少

占空比范围是多少?

我对如何驱动步进电机、伺服电机和直流电机不熟悉,请说明白些。

还有,你说“很多引脚已经使用”,不能调换吗?STM32的很多外设引脚有重映射功能。
点赞  2008-6-16 13:52

版主能先回答我问题吗?

                                  
点赞  2008-6-16 14:31

比较输出模式能自动产生脉冲波形!

                                  
点赞  2008-6-16 14:50

谢谢版主

                                  
点赞  2008-6-16 14:59

强烈建议你先看三编资料,不认识的单词查字典或问英语老师.

                                  
点赞  2008-6-17 00:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复