ATSAMC21 PWM 占空比停留在 99%

ATSAMC21 PWM Duty Cycle stuck at 99%

我正在尝试使用 ATSAMC21E18A 的 PWM。虽然,无论我用函数 "pwm_set_parameters" 设置的参数如何;占空比保持在 99%。

我什至尝试构建一个由 https://start.atmel.com/ 创建的更简单的项目。我只添加了 PWM 驱动,我写了一个简单的 main:

int main(void)
    {
    /* Initializes MCU, drivers and middleware */
        atmel_start_init();

        pwm_set_parameters(&PWM_0, 1000, 500);

        pwm_enable(&PWM_0);

        /* Replace with your application code */
        while (1) {
        }
    }

但结果是一样的:输出信号的占空比为99%。 我做了很多硬件测试,似乎不是问题所在。我是不是忘了初始化什么?

它必须是 gpio 功能的配置(如果您使用的是 Atmel Start,则 driver_init.c 中的 void PWM_0_PORT_init(void))。您可以使用 WOx 代替 WO0。

这里有更多信息:https://www.avrfreaks.net/forum/pwm-tcx-module-not-working-samd21-using-asfv4

祝你好运,再见