关于单个定时器多路输出PWM

2019-08-14 17:26发布

如果我用一个定时器同时输出4路PWM,定时器的系数设置一次,那四路岂不是一样的?请问怎么输出不同的四路PWM?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
正点原子
1楼-- · 2019-08-14 18:54
输出比较模式,论坛搜索
PsychoZy
2楼-- · 2019-08-14 21:37
 精彩回答 2  元偷偷看……
CatCat
3楼-- · 2019-08-15 00:11
理论上来讲按原子哥的方法设置出来的4路PWM频率是一样的,占空比可以不一样。想要一个定时器输出不同频率的PWM的话比较复杂,上网找资料看看。
夜妖壹号
4楼-- · 2019-08-15 00:30
可以用一个定时器同时输出4路占空比不同的PWM波,需要你在主程序里设置比较值函数。比如:我想用定时器2的2,3通道输出占空比为50%和60%的PWM波,那么我就在主函数里设置TIM_SetCompare2(TIM2,arr*50%);和TIM_SetCompare3(TIM2,arr*60%);这两个函数就可以达到输出不同的PWM波,我也是最近才解决这个问题的,望采纳!
夜妖壹号
5楼-- · 2019-08-15 01:37
PsychoZy 发表于 2017-8-7 19:39
还有,103ZE和103rc的程序共用吗?

不同容量的芯片所需的启动文件不一样,也仅仅是启动文件不一样,其它的程序配置都是一样的,就是有的芯片比如C8和ZE这两个系列,它们的启动文件分别为startup_stm32f10x_md.s和startup_stm32f10x_hd.s这两个。但是C8在使用时需要你自己包含所用到的头文件,比如我用到了stm32f10x_tim.h这个头文件里面的函数,我就需要在源文件里包含stm32f10x_tim.h这个头文件
CQN
6楼-- · 2019-08-15 06:19
一个定时器的四路pwm是四个不同io口输出,而且四路的设置函数也不一样,分别是TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1),TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2),TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3),TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4),分别使能并设置不同的Compare就可以输出不同的pwm了

一周热门 更多>