szno 发表于 2026-3-10 11:57:48

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

我把PWMA 和 PWMC都用比较,模式设置一样,
ARR和CRR都设置的一样,也是几乎一起打开,
具体方法如下,示波器上出现的波形周期和占空比都一样,
但是会有相位差。
而且每次上电有相位差都不太一样。
我不想要这个相位差这个怎么办?
有没有解决方法?

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




ercircle 发表于 2026-3-10 15:22:33

简单点的:
将两个初始化函数开始计时那一行提取出来放一起

复杂的看这个是否可用:




zhp 发表于 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产生的示例代码


szno 发表于 2026-3-10 17:03:17

zhp 发表于 2026-3-10 15:52
如果是需要同步PWMA/PWMB或者同步PWMC/PWMD,
可以使用内部主PWM的TRGO信号当作从PWM的TRGI进行同步



谢谢大神{:baoquan:}
页: [1]
查看完整版本: STC32G144K246怎么做到PWMA和PWMC同相位?