《 MSP430G2231主题中讨论的其他器件》
工具/软件:
我有4款产品采用 MSP430G2231和 MSP430G2553。 我正在使用 对我公司至关重要的计时器处理第三个问题。
我编写这段简短代码是为了 通过 MSP430G2553的3个引脚创建一个 PWM 波形。 我上次运行的时间是2002年、 在 Windows 10下使用了 Code Composer Ver10 10.1.1.00004。
然后代码运行得很好。 我最近 尝试使用 MSP430G2231上的计时器尝试切换 P1.2、并且没有任何反应。 我可以使用 while 循环切换端口。 但任何与计时器相关的内容都不起作用。 所以我回到了 G2553代码、现在它不起作用。
我尝试 过调试该问题、如下所示。
- 我尝试在另一台计算机上使用相同的 Launchpad、无 PWM
 - 我恢复到版本10.1.1 Code Composer 软件(无 PWM)
 - 已使用新的开箱即用 Launchpad 和新的 G2553、无 PWM
 
请参阅以下代码和 LaunchPad 上 G2553的器件设置。
// TA0CCR0 // *计时器 A0捕捉/比较0 */ 
// TA0CCR1 // *计时器 A0捕捉/比较1 */ 
// TA0CCR2 // *计时器 A0捕捉/比较2 */ 
// TA1CCR0 /*计时器 A1捕捉/比较0 */ 
// TA1CCR1 /*计时器 A1捕捉/比较1 */ 
// TA1CCR2 /*计时器 A1捕捉/比较2 */ 
// P2.2 计时器 A1 CCR1 Out1 
// P2.4 计时器 A1 CCR1 Out2 
// P1.2 计时器 A0 CCR0 Out1 
/************************************************************ / 
#include 
内部 main (void) 
{ 
 
       P1DIR |= BIT2;            // P1.2输出 
       P1SEL |= BIT2;            // P1.2选项选择 
       P2DIR = 0x14;            //将 P2.2和 P2.4设置为输出方向。 
       P2SEL = 0x14;            //选择 P2.2和 P2.4 作为 PWM 输出。 
       TA1CCR0 = 1000-1;          // PWM 周期 
       TA1CCTL1 = OUTMOD_7;         // CCR1复位/设置 
       TA1CCR1 = 0;             // P2.2 PWM 占空比  
       TA1CCTL2 = OUTMOD_7; 
       TA1CCR2 = 0;             // P2.4 PWM 占空比(500 = 50%)  
       TA1CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK、向上计数模式、清除 TAR 
       P1DIR |= BIT2;            // P1.2输出 
       P1SEL |= BIT2;            // P1.2选项选择 
       TA0CCR0 = 1000-1;          // PWM 周期   
       TA0CCTL1 = OUTMOD_7;         // CCR0复位/设置 
       TA0CCR1 = 1000;           // P1.2 PWM 占空比 
       TA0CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK、向上计数模式、清除 TAR 
       //__bis_SR_register (LPM0_bits);  //进入 LPM0 
       // __ no_operation ();          //对于调试器 
}