STM32的TIMER有4个通道,这4个通道可以随意配置成输入和输入吗?
如果,我把第一个通道配置成外部计数输入,第二个通道配置成PWM 输出,第三个通道配置成捕获输入,第四个通道配置成波形输出,这样4个通道能同时工作吗?因为只用一个定时器实现这些功能好像不太可能。高人解释一下。
楼主的要求可以满足,STM32中每个定时器都有四个独立的通道
每个通道互不干扰,只用一个定时器可以很容易地实现这些功能。
3楼说的对,我没有注意到楼主的第一个要求是“外部计数输
“外部计数输入”比较特别,如果没有这一项,其他三项可以在一个定时器中实现。
还是不太明白
谢谢大家的回答,还是不太明白,谁能讲得清楚一些。
4个通道能同时作为外部计数吗?
4个通道能同时作为PWM输出吗?
如果能的话,在硬件上是怎么实现的?
把外部脉冲做为STM32的定时器时钟,则可以实现外部计数功能
一个定时器只可能有一个输入时钟,因此做外部计数时,一个定时器只能对一个外部信号计数。
STM32定时器下属的通道不能做外部计数,但可以有其它功能模式:输入捕获、输出比较、PWM输入、PWM输出、单脉冲输出等。因此每个通道都可以单独配置成这些模式之一,而且每个通道的模式可以不一样也可以一样,所以4个通道能同时作为PWM输出。
楼主的问题“第一个通道配置成外部计数输入,第二个通道配置成PWM 输出,第三个通道配置成捕获输入,第四个通道配置成波形输出”,根据上面介绍的原则,“外部计数”不是定时器通道的某种模式,所以我在4楼要排除这个功能,你列出的其它三种功能可以分别在同一定时器的不同通道上实现。顺便说一下,我理解你的“波形输出”就是PWM输出。
波形输出
谢谢版主, “波形输出”指的输出方波,不是PWM,不知道利用输出比较模式能不能实现这个功能?
就是想在通道引脚上自动的输出一定频率的方波,如40khz。
输出一定频率的方波,这不就是PWM输出吗?
只不过它的占空比是固定的1:1,或50%。
输出一定频率的方波,这不就是PWM输出吗?
按版主说的采用PWM模式应该也能出来方波,我看资料还有比较输出模式,也就匹配的时候,我设置翻转引脚电平,我觉得也能出来方波,这两种是不是都可以?
另外用这两种方法最大能达到多少频率的方波?
请楼主具体提出你的需求,这样比较容易讨论
我们不必在此纸上谈兵。
你的这些问题太笼统,回答这些问题意味着给你讲一遍手册,既然这样为什么不自己看?看不懂再来讨论。
请教大家一个菜鸟问题。
在STM32F10X参考手册上的第21(实际36)页,有一个时钟树。
上面"APB1 Prescaler /1,2,4,8,16"下面"TIM2,3,4 *1,2 Multiplier"是不是可倍频的意思呀?
我没有找到这一项的设置呢?
哪一个寄存器位是设置这一项?
菜鸟正在学习,大家帮忙呀!
谢谢啦!!!
在一个定时器的不同通道实现不同的功能是有条件的
请楼主能够提出具体的需求,这样方便讨论。
我觉得
最有用的是好几个定时器可以联合使用, 这个单片机上没有。
我需要实现的功能
我需要控制3种电机,步进电机,伺服电机和直流电机,其中步进电机,伺服电机带驱动器,我们控制步进电机,伺服电机只需要给脉冲信号,同时需要接收编码器的反馈信号,直流电机需要我们提供PWM信号。
请版主指教。
能把你的要求提得再具体一点吗?
打算用什么型号的STM32芯片?多少脚?
如果是使用最大配置的芯片,可以很简单地分别用一个定时器控制一种电机,不必考虑用单一的定时器产生多路信号。
关于PWM信号,你要求的频率是多少?每个电机的频率都一样吗?
再具体点
STM32F103,100脚
但是很多引脚已经使用,所以必须考虑用单一的定时器产生多路信号,这样能实现吗?
其次,我用比较输出模式能自动产生脉冲波形吗?
谢谢版主解答。
还是不太明白——你要求几路PWM输出?频率调节范围是多少
占空比范围是多少?
我对如何驱动步进电机、伺服电机和直流电机不熟悉,请说明白些。
还有,你说“很多引脚已经使用”,不能调换吗?STM32的很多外设引脚有重映射功能。
强烈建议你先看三编资料,不认识的单词查字典或问英语老师.