梁工 发表于 2026-6-24 20:18:03

fengyu200208 发表于 2026-6-24 16:35
占空比没有变化

请下载下面的例程包,参考“11-PWMA-P2口输出3相互补SPWM变频驱动”,应该就是你想要的。
主频32.768MHz, PWM周期1422, 刷新频率23040Hz,死区0.5us, 输出3相正弦波频率为1~255Hz, 相位差120度.
正弦表使用360点, 幅度为711+-710. 当输出正弦波<=64Hz时, 正弦波输出采样为360点, 当输出正弦波>64Hz时, 正弦波输出采样点数 = 23040/正弦波频率.
用户只需要改变SineFreq的值(1~255)即可改变输出正弦波频率, 并且相位连续.

注意: 输出要通过两节RC滤波(5.1K+0.1uF)后用示波器观察到正弦波.

例子输出IO:
PWM3N PWM3P    PWM2N PWM2P    PWM1N PWM1P
   P2.5   P2.4      P2.3   P2.2          P2.1   P2.0

STC32G-高级PWM范例程序下载
https://www.stcaimcu.com/thread-1778-1-1.html
(出处: 国芯人工智能技术交流网站)
页: 1 [2]
查看完整版本: STC32G8K48产生SPWM不正常