根据资料,CH552 的PWM 频率是根据 PWM_CK_SE 的分频而来【参考1】。具体的频率计算方法是:
Fsys / 256 / PWM_CK_SE
对应的 DataSheet 描述如下:

为此,编写一段测试代码:
void setup() {
// put your setup code here, to run once:
pinMode(15,OUTPUT);
PIN_FUNC &= ~(bPWM1_PIN_X);
PWM_CTRL |= bPWM1_OUT_EN;
}
void loop() {
PWM_CK_SE=1;
PWM_DATA1 = 127;
delay(10000);
PWM_DATA1 = 63;
delay(10000);
PWM_CK_SE=16;
PWM_DATA1 = 127;
delay(10000);
PWM_DATA1 = 63;
delay(10000);
}

当前频率为 16,000,000/256/1=62.5KHz

频率和上面的相同,只是占空比不同。

当前频率为 16,000,000/256/16=3.906KHz
参考: