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.

[参考译文] MSP430FR5734:为 GPIO 分配 PWM 输出

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1064309/msp430fr5734-assigning-pwm-output-to-gpio

器件型号:MSP430FR5734

我已经看到任何 GPIO 都可以用于 PWM 输出的注释。 我已经查看了 PWM.h 的文档(dev.ti.com/.../node PWM 输出分配给引脚。

我已经查看了 CCS 中用于 PWM 功能的示例代码、但代码和数据表中的寄存器分配建议我只有四种可能:P1.0、P1.1、P1.2和 P1.3。 似乎 TA0CCR0 和 TA1CCR0消耗了 P1.6和 P1.7、示例代码会写入一个值来设置周期。 如果这些引脚是周期基准、它们将如何用于 PWM 输出? 这意味着、如果我想写入 TA0CCR0 (P1.6)的占空比、那么周期在哪里设置? 恐怕我很困惑、无法获得任何牵引力。 请提供任何帮助。 谢谢!

示例代码:

P1DIR |= BIT0+BIT1;         // P1.0和 P1.1输出
P1SEL0 |= BIT0+BIT1;       // P1.0和 P1.1选项选择
TA0CCR0 = 100-1;          // PWM 周期
TA0CCTL1 = OUTMOD_7;   // CCR1复位/置位
TA0CCR1 = 75;             // CCR1 PWM 占空比
TA0CCTL2 = OUTMOD_7;   // CCR2复位/置位
TA0CCR2 = 25;            // CCR2 PWM 占空比
TA0CTL = tassel_1 + MC_1 + TACLR;// ACLK、向上计数模式、清除 TAR

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

    硬件 PWM 只能在 TAM.n 或 TAM.n 形式指定的引脚上完成 例如、P1.0被指定为 TA0.1、它对应于 TA0CCR1。 根据引脚配置表(见下文)、通过将相应的 Pdir 位设置为1 (输出)和 PSEL 位、将定时器输出(根据 OUTMOD)发送到一个引脚。

    作为快速参考、您可以使用引脚图找到这些引脚、例如数据表(SLAS639L)图4-3。 但是、权威列表位于引脚配置表中、例如数据表中的表6-39描述了 P1.0-2 (TA0.1-2和 TA1.1)。 这些表很重要、因为它们告诉您如何设置 PSEL 和 Pdir 位。

    CCR0确实用于设置周期。 可能会在 TA0.0上生成信号、但这并不是一个非常有趣的信号、因为"有用" PWM 模式(2、3、6、7)不适用于 CCR0 [参考用户指南(SLAU272D)第11.2.5.1节]。