alisa123 发表于 2015-9-21 12:06:25

关于stm32f3 PWM

我想用Tim2的Ch1,Ch2的4个通道实现如下波形,不知是否可行,求高手指点,谢谢

powder-320203 发表于 2015-9-21 13:54:29

不是不愿帮你,是想让你自己锻炼一下。

enjoyfreescal 发表于 2015-9-21 14:43:41

powder-320203 发表于 2015-9-21 13:54
不是不愿帮你,是想让你自己锻炼一下。

可以不直接给程序,给个建议,或者该看什么文档,找哪方面资料指点一下比较好,您觉得呢?

enjoyfreescal 发表于 2015-9-21 14:46:55

我有个想法,就是可以在使能通道1输出的时候while(/* 等待ch1计数值到达1us */),因为ch1输出计数一定是比1us精度高度;再启启动通道2输出。(自己没有这么实际使用过,单纯的想法,可能略有误差)

alisa123 发表于 2015-9-21 16:00:35

powder-320203 发表于 2015-9-21 13:54
不是不愿帮你,是想让你自己锻炼一下。

可以提示下吗?真心现在没有思路,请高手指点下思路,我也好有个方向琢磨。谢谢你

alisa123 发表于 2015-9-21 16:01:16

enjoyfreescal 发表于 2015-9-21 14:43
可以不直接给程序,给个建议,或者该看什么文档,找哪方面资料指点一下比较好,您觉得呢? ...

非常同意你的观点,谢谢你的支持。:handshake

alisa123 发表于 2015-9-21 16:06:33

enjoyfreescal 发表于 2015-9-21 14:46
我有个想法,就是可以在使能通道1输出的时候while(/* 等待ch1计数值到达1us */),因为ch1输出计数一定是比1 ...

我原来也想到这个思路,但是总感觉这样如果我要把两路关了,等需要再次重启输出的时候就又需要一个while延时了,到网上查了下,可以用相位差来做,但是都是相同的两个PWM从在0-360°的相位,而我需要的是两路输出的频率相同,占空比不同的。

enjoyfreescal 发表于 2015-9-21 16:20:37

alisa123 发表于 2015-9-21 16:06
我原来也想到这个思路,但是总感觉这样如果我要把两路关了,等需要再次重启输出的时候就又需要一个while ...

关闭的话可以输出占空比为0% 就不必每次都等待啦。

alisa123 发表于 2015-9-21 17:08:12

enjoyfreescal 发表于 2015-9-21 16:20
关闭的话可以输出占空比为0% 就不必每次都等待啦。

关闭后需要满足一定条件的时候再次重启输出PWM的,并不是初始化后只开启一次的。我刚看到网上说可以用两个定时器的主从模式来实现,我正在琢磨。

dzzwoaizi 发表于 2015-9-21 17:53:28

最小单位到100NS了,用PWM估计悬,但是可以用2个以上的模拟出来非常准
页: [1] 2
查看完整版本: 关于stm32f3 PWM