硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3750|回复: 7
收起左侧

STM32 PWM输出 能不能产生这样的波形

[复制链接]

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2018-7-9 11:09:13 | 显示全部楼层 |阅读模式
本帖最后由 wozaihuayu 于 2018-7-9 11:16 编辑

QQ图片20180709091501.png
周期相同,占空比不同,相位不同

主要是相位我不知道怎么错开。

周期比较小,一个周期只有1US,我试过不能用不同定时器延时得到。

能不能单纯用定时器实现,做过的朋友给个想法!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2018-7-9 11:16:06 | 显示全部楼层
对于F429来说,1MHz的PWM基本无压力的。用同一个定时器的四个通道即可。

使用我们提供的超级函数,使用比较简单,TIM1到TIM14全做了支持(V4,V5,V6开发板都有这个功能):
http://www.armbbs.cn/forum.ph ... 707&highlight=TIM14
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
 楼主| 发表于 2018-7-9 11:18:05 | 显示全部楼层
eric2013 发表于 2018-7-9 11:16
对于F429来说,1MHz的PWM基本无压力的。用同一个定时器的四个通道即可。

使用我们提供的超级函数,使用 ...

硬汉恢复真快,我先看看这个超级函数!
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
 楼主| 发表于 2018-7-9 11:25:42 | 显示全部楼层
eric2013 发表于 2018-7-9 11:16
对于F429来说,1MHz的PWM基本无压力的。用同一个定时器的四个通道即可。

使用我们提供的超级函数,使用 ...

大概看了下啊,其实我主要是想实现,三个波形相位错开一段时间,你这个超级函数似乎没有这个功能啊!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2018-7-9 12:16:02 | 显示全部楼层
wozaihuayu 发表于 2018-7-9 11:25
大概看了下啊,其实我主要是想实现,三个波形相位错开一段时间,你这个超级函数似乎没有这个功能啊!

相位错开做不了。

简单点,直接开一个1MHz的中断,里面做IO输出即可,处理的过来,中断服务程序里面直接寄存器操作。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2021-1-21 20:12:18 | 显示全部楼层
硬汉,输出第一个pwm波,然后再在第一个pwm波跳变的时候开通第二个pwm,依次类推,共开通4个pwm,也类似上面的相位错开,然后,要求频率和占空比可修改,能做到吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-1-22 08:52:44 | 显示全部楼层
qiang497363216 发表于 2021-1-21 20:12
硬汉,输出第一个pwm波,然后再在第一个pwm波跳变的时候开通第二个pwm,依次类推,共开通4个pwm,也类似上 ...

使用TIM DMA比较方便。
回复

使用道具 举报

0

主题

125

回帖

125

积分

初级会员

积分
125
发表于 2021-1-23 12:27:53 | 显示全部楼层
用DMA是可以做到的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-17 19:41 , Processed in 0.177624 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表