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:为什么我的小代码不能 n#39;t 工作(计时器模块)

Guru**** 2552050 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/903713/ccs-msp430g2553-why-my-little-code-doesn-t-work-timer-modules

器件型号:MSP430G2553

工具/软件:Code Composer Studio

大家好,我想当 BIT2中的 TA0CCR0=40000 LED 打开时,当 TA=65535 LED 关闭时。 
但是、当我运行程序时、LED 指示灯将保持熄灭状态。问题出在哪里 




#include int main (void){ WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器 P1DIR |= BIT2; //设置输出模式引脚 P1SEL |= BIT2; TA0CTL |= MC_2 + TASSEL_2; // contunue mode-smclk TA0CCTL0|=OUTMOD_3; // outmod 设置/重置 TA0CCR0 =40000; while (1) {}


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

    您好 Ozgur、

    请查看下面的示例代码。  msp430g2xx3_TA_01.c 提供了一个示例、可在 CCR0达到50000 cock 周期时切换 P1.0。   

    https://www.ti.com/lit/zip/slac485 

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

    [引用用户="Eddie LaCost ]

    Merhaba Özgür

    Lütfen aşağıdaki Örnek koda bir göz atın。 msp430g2xx3_TA_01.c、CCR0 50000 Horoz döngüsüne ulaştığında P1.0'ı değiştiren bir Örnek sunar。   

    https://www.ti.com/lit/zip/slac485  

    [/报价]

    谢谢 Eddie。但示例使用 interrupt。但我 不想使用 interrupt。我想 学习 outmod.so、我想使用"outmod"来实现此目的。我正在尝试练习。我必须理解我的错误、以便我可以更好地掌握问题。我仍然无法理解代码中的问题所在

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

    "实际"PWM 模式不适用于 CCR0、因为"打开"和"关闭"触发器是相同的(EQU0)。

    CCR0唯一有趣的输出模式是切换(OUTMOD_4)。 如果您使用它、您将获得50%的占空比输出、周期为(2*65k)个节拍。 如果切换到向上计数模式,则周期将为(2*40k)个节拍。

    您可以从 TA0CCR1等位置获取"实际"PWM、但必须切换输出引脚。

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

    我更改代码 TA0CCTL0 |=OUT_MOD_4       没有 任何变化。LEDD 始终关闭。

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

    > P1DIR |= BIT2;//设置输出模式引脚

    > P1SEL |= BIT2;

    根据数据表(SLAS735J)、表16、P1.2为 TA0.1、而不是 TA0.0。 (因此、您实际上不必切换引脚即可使用 CCR1。) 尝试:

    根据 SLAS735J 表16、> P1DIR |= BIT1;// P1.1作为 TA0.0

    > P1SEL |= BIT1;

    并将 LED 连接到 P1.1。 如果您使用的是 Launchpad、请务必从 J101上移除 RXD 跳线。

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

    谢谢 Bruce。