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.

[参考译文] CCS/MSP430G2553:需要PWM指导

Guru**** 2595770 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/635603/ccs-msp430g2553-pwm-guidance-needed

部件号:MSP430G2553

工具/软件:Code Composer Studio

您好,

我希望在三个WFP 2.2 ,WFP 2.3 和WFP 2.4 上有PWM输出。 我尝试过以下代码,但它只适用于WFP 2.2 ,而不适用于WFP 2.3 和WFP 2.4。

代码:

P2DIR |= BIT2|BIT3|BIT4;// WFP 2.2 ,WFP 2.3 ,2.4 输出
P2SEL |= BIT2|BIT3|BIT4;
TA1CCR0 = 512-1;// PWM周期
TA1CCTL1 = OUTR1_7;// CCTR1重置/设置
TA1CCR1 = 384;//CC1 MOD/ TA1MOD/
T1 MOD_工作周期 


请帮助我理解上述代码中的错误。  是否可能在上述三个不同引脚上具有相同的PWM占空比?

是否可以使用单定时器在三个不同引脚上生成不同的PWM占空比?

谢谢!

克鲁纳尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可能在上述三个不同引脚上具有相同的PWM占空比?
    是的,这是可能的。

    是否可以使用单定时器在三个不同引脚上生成不同的PWM占空比?
    是的,但您必须注意,您必须使用1.0 (2.2),1.1 (2.3)和1.2 (2.3)。

    请尝试此操作。

    P2DIR |= BIT2|BIT3|BIT4;// WFP 2.2 ,WFP 2.3 ,WFP 2.4 输出
    P2SEL || BIT2|BIT3|BIT4;
    TA1CCR0 = 512-1;// PWM周期
    TA1CCR1 = 384;//CCR1 PWM占空比
    TA1CCTL1 = OUTMOD_7;// CCR1重置/设置
    TA1CCTL2 = OUTMOD_7;// CCR2重置/设置
    TA1CTL = tassel_2 + MC_1;// SMCLK,UP模式
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel Warner所说的话,以及:
    在UP模式下,您只能从1.0 (2.3)获得50 % Duty (最高负荷)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复,

    我尝试了你的建议,现在WFP 2.2 和pp 2.4 正在提供PWM输出。
    WFP 2.3 不工作。 (供参考:我正在直接检查该引脚上CRO的输出。)

    有什么建议?

    在您的建议中,您提到了2.3 2.2 两次,另外1.0 的与数据表不匹配,您能否提供更新的针名?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要在通道上获取PWM,您(1)根据需要设置CCTLx:OUTMOD,以及(2) CCRx=占空比(单位为tick)。

    你可以用CCR0做到这一点,但大多数人不会麻烦,因为你只能得到50 % 的责任。 (参考SLAU144J秒 12.2。5.1)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我只是想在这里确认一下,如果我想在三个不同的引脚上使用PWM而不受限制,那么我应该避免使用TAX.0。 相反,我可以使用0.1 ,对吧?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的。 (还有0.2 3,但在Launchpad DIP-20封装中不能作为引脚使用。)

    要获得0.1 的提升,除了TA1之外,您还需要设置TA0 (TA0CTL和所有它们)。 您可以使用相同的值,但如果您需要同步这些值(完全在同一时间开始),这可能很困难(取决于您对"完全"的定义)。