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:如何独立控制每个 P1引脚的输出

Guru**** 2558250 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/812549/ccs-msp430g2553-how-to-independently-control-output-from-each-p1-pin

器件型号:MSP430G2553

工具/软件:Code Composer Studio

int main (空)



   WDTCTL = WDTPW | WDTHOLD;  //停止看门狗计时器

   BCSCTL1 = CALBC1_1MHz;
   DCOCTL = CALDCO_1MHz;


   P1DIR=BIT2 + BIT6;  //启用 GPIO
   P1SEL=BIT2 + BIT6;  //将 GPIO 设置为 off

   TA0CCR0 = 10000-1;            // PWM 周期
   TA0CTL|= tassel_2+MC_1;       //向上计数
   TA0CCTL1 |= OUTMOD_7;         // CCR1复位/设置
   TA0CCR1 = 8000;               // CCR1 PWM 占空比
   TA0CCTL2 |= OUTMOD_7;

   

       while (i!=10000)    //此 while 只是为了延迟、以便我可以在示波器上看到信号
           i++;

       if (i ==10000)
           {
           P1DIR = BIT6;
           P1SEL = 0;
           P1OUT |= 0;
           }




           _BIS_SR (LPM0_Bits + GIE);      //在中断被启用的情况下进入低功耗模式0

您好!

我正在使用 MSP430。 我使用它来生成 PWM 信号。 我将在 P1.2和 P1.6上生成两个 PWM 信号。 但是、我的测试设置需要关闭、或者从两个引脚发出 PWM 信号。 PWM 的频率和占空比保持不变。 在上面的代码中、我尝试关闭 P1.6引脚的输出。 但是、当我观察示波器时、即使是 P1.2输出也会被切断。

是否有人可以帮助我独立打开和关闭这些不同 P1.2和 P1.6引脚的输出?

谢谢!

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

    你(们)好

    为什么使用相同的 CCR? 您可以只使用 CCR1和 CCR2生成两个 PWM、并使用输出模式来控制其输出状态。

    此致

    Gary

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

    要打开某个位、请使用"|"。 要关闭某个位、请使用"&"。 (要切换位、请使用"^"。)

    我怀疑您打算使用一个更类似于以下的序列:

    >        P1DIR |= BIT6;          // P1.6 DIR=1 (输出)
    >       P1SEL &=~BIT6;        // P1.6 SEL=0 (根据 DS 表19为 GPIO)
    >       P1OUT &=~BIT6;       // P1.6 OUT=0 (低电平)

    查看数据表(SLAS735J)表16和19、我认为您所需的只是第二行(P1SEL)。 其他两行(P1DIR 和 P1OUT)应移至初始化代码。

    未经请求:您似乎缺少 TA0CCR2的设置。 (这可能只是粘贴错误。)

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

    你(们)好、Gary

    我使用 CCR2、但出于某种原因、占空比始终由 CCR1决定。 无论 CCR2的值如何、两个引脚的占空比都保持不变。

    由于我无论如何都不想使用不同的占空比、因此我没有使用 CCR2。

    感谢您的回答!

    此致

    Aditya

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

    你好 Bruce

    非常感谢您的帮助!

    您的回答已解决我的问题!

    顺便说一下、我只使用了一个 CCR、因为我不需要不同的占空比、PWM 输出可用、而无需使用另一个 CCR!

    此致

    Aditya