《 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 (); //对于调试器
}