找回密码
 立即注册
查看: 419|回复: 4

STC32G144K246怎么做到PWMA和PWMC同相位?

[复制链接]
已绑定手机

9

主题

6

回帖

85

积分

注册会员

积分
85
发表于 2026-3-10 11:57:48 | 显示全部楼层 |阅读模式
我把PWMA 和 PWMC都用比较,模式设置一样,
ARR和CRR都设置的一样,也是几乎一起打开,
具体方法如下,示波器上出现的波形周期和占空比都一样,
但是会有相位差。
而且每次上电有相位差都不太一样。
我不想要这个相位差这个怎么办?
有没有解决方法?

HSPWMA_Run();                       //PWMA开始运行
HSPWMC_Run();                     //PWMA开始运行
EnableGlobalInt();                  //使能全局中断





回复

使用道具 举报 送花

已绑定手机

121

主题

5079

回帖

1万

积分

超级版主

无情的代码机器

积分
11208
发表于 2026-3-10 15:22:33 | 显示全部楼层
简单点的:
将两个初始化函数开始计时那一行提取出来放一起

复杂的看这个是否可用:



截图202603101522077167.jpg

三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

28

主题

1327

回帖

4991

积分

超级版主

积分
4991
发表于 2026-3-10 15:52:13 | 显示全部楼层
如果是需要同步PWMA/PWMB或者同步PWMC/PWMD,
可以使用内部主PWM的TRGO信号当作从PWM的TRGI进行同步

PWMA和PWMC是完全独立的两组PWM,无法使用内部的TRGO信号进行同步,

PWMA和PWMC的同步只能使用外部信号进行同步触发

1、同时选P3.2为PWMA和PWMC的外部触发功能脚PWMAETI和PWMCETI
2、软件配置PWMA使用PWMAETI(P3.2)作为标准外部触发输入,ETI下降沿有效
3、软件配置PWMC使用PWMCETI(P3.2)作为标准外部触发输入,ETI下降沿有效

4、P3.2产生下降沿,同步触发启动PWMA和PWMC,这样PWMA和PWMC就同相位了

附件是我用AiCube产生的示例代码



PWM_SYNC.zip

801.59 KB, 下载次数: 40

点评

看起来比较复杂  发表于 2026-8-25 17:33
回复

使用道具 举报 送花

已绑定手机

9

主题

6

回帖

85

积分

注册会员

积分
85
 楼主| 发表于 2026-3-10 17:03:17 | 显示全部楼层
zh*** 发表于 2026-3-10 15:52
如果是需要同步PWMA/PWMB或者同步PWMC/PWMD,
可以使用内部主PWM的TRGO信号当作从PWM的TRGI进行同步

谢谢大神
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-9-19 22:56 , Processed in 0.067646 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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