PWM精度问题



  • 使用8016的PD6输出一个4MHz的PWM波,程序如下。
    pmu_set_pin_to_CPU(GPIO_PORT_D,(1<<GPIO_BIT_6));
    system_set_port_mux(GPIO_PORT_D,GPIO_BIT_6,PORTD6_FUNC_PWM0);
    pwm_init(PWM_CHANNEL_0,4000000,50); //4MHz
    pwm_start(PWM_CHANNEL_0);
    system_sleep_disable();

    发现输出的波形占空比偏差很大,可能是什么原因呢?(逻辑分析仪的采样频率设置为20MHz)
    0_1727083745160_1.png