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.

[参考译文] MSP430F5529:我无法设置 PWM。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1003229/msp430f5529-i-cannot-set-pwm

器件型号:MSP430F5529

您好!

我尝试使用 MSP430F5529L 开发板来控制 DRV8320S 电机驱动器板、但无法设置所需的 PWM 信号。 (25kHz 应用中的默认设置)。
我想生成25kHz 信号、我该怎么做?
我正在使用以下代码。

SMCLK 设置为4MHz。

Ali。

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

    生成 PWM 的最简单方法是采用向上计数模式、而不是连续模式。  

    良好的开端可能是此处的 PWM 示例之一:

    https://dev.ti.com/tirex/explore/node?node=AN1.A2bbAsUsNq67tmpYqw__IOGqZri__LATEST

    这些示例没有真正展示的一点是、如何在 PWM 运行时更改占空比。 为此、您应该使用 Timer_A_setCompareValue()

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

    感谢这个示例、但我的问题是我无法更改 PWM Hz、如何将其设置为25kHz。
    您能否向我发送为我提供此设置的代码?

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

    示例 ex1使用名称 timer_period、它以计时器节拍为单位;使用 CLOCKSOURCE_divider _1、这与 SMCLK 节拍相同。 因此、将 TIMER_PERIOD 设置为(4MHz/25kHz)-1 = 159

    [编辑:Duty_cycle (也在定时器节拍中)必须小于 timer_period。 要获得50%、例如使用160/2=80。]

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

    谢谢你。 从一开始就成立了、但它不起作用、因为在示例中有两个计时器使用与 PWM 计时器相同的计时器。