This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129XNCZAD:在 PWM 模式下使用计时器模块时停止 PWM 输出

Guru**** 2024750 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/720417/tm4c129xnczad-stopping-pwm-output-when-using-a-timer-module-in-pwm-mode

器件型号:TM4C129XNCZAD

TIMER4在 PWM 模式下配置为 T4CCP0多路复用到 GPIOS4。
频率控制和标记/空白工作正常。

尝试停止 PS4 I 调用上的 PWM 输出

   TimerDisable (TIMER4_base、timer_A);

(笑声) 但示波器显示引脚不断输出 PWM。

不过、我可以通过清除 GPTMTAMR 中的 TAAMS 位来停止 PWM 输出、但我本来希望输出会随着 DimerDIsable DriverLib 调用而停止。

这是预期的功能吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tony、

     我无法重现您的结果。 在调用 TimerDisable()之后,我不再看到 PWM。 我稍微修改了 TivaWare timers.c 示例以停止 PWM。 不过、该示例使用 TIMER0。 这是项目。

    e2e.ti.com/.../timers.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,查尔斯


    感谢您的回复。 我已经了解了您的 timers.zip 项目。

    将计时器编程为简单的32位宽周期性计时器。 我对此没有任何问题。

    我的问题是、当计时器设置为 PWM 模式以在 T4CCP0引脚上获得 PWM 输出时。 这时 TimerDIsable 看起来不会停止计时器。

    PWM 模式将定时器分为 A 和 B 16位计数器、并使用8位预分频器创建一个仅限24位递减计数的定时器。 通过使用 TimerConfigure 库调用中的 TIMER_CFG_A_PWM 标志来启用此模式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tony、

     糟糕的是我之前没有在 PWM 模式下配置计时器。 在这里、我将运行 PWM 模式示例中的计时器。 同样、我无法复制您的结果。 TIMER_PWM 示例在 PD3引脚上使用 Timer1_B。 我让 PWM 生成几秒钟、然后通过调用 TimerDisable (Timer1_base、timer_B)来禁用计时器、之后 PWM 将停止。

    e2e.ti.com/.../timers_5F00_pwm.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Charles、

    感谢您的反馈。 我发现硬件人员已将简单的压电蜂鸣器更改为将在施加稳定的3.3V 电压时产生共振的蜂鸣器、因此 PWM 开启或关闭时没有任何影响... 如果 T4CCP0线路被保持在高电平、蜂鸣器将发出声音。

    问题已解决。 不过、感谢您调查此非问题。

    此致、
    Tony。