MSP430 PWM问题!!!

void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //关狗
BoardConfig(0xf7);
Init_clk();
P1DIR |= 0x0c; //设置P1.2,P1.3为输出
P1SEL |= 0X0C; //设置P1.2,P1.3 TA1/2为模块功能

CCR0 = 512-1; //装入PWM周期值

CCTL1 = OUTMOD_7; //设置CCR1输出单元为复位/置位输出模式
CCR1 = 384; //装入CCR1 PWM的占空值 75%

CCTL2 = OUTMOD_7; //设置CCR2输出单元为复位/置位输出模式
CCR2 = 128; //装入CCR2 PWM的占空值 25%

TACTL = TASSEL_1 + MC_1; //时钟源选择ACLK,定时器A增计数模式
_BIS_SR(LPM3_bits); //进入LPM3低功耗模式
}

这段程序 我的理解是:

计数器A增计数模式,当计数值到CCR1(384)时,CCR1:out1输出复位。当计数值到CCR2(128)时,
CCR2:out1输出复位,当计数值到CCRO(512)时,输出被置位,计数器从0开始计数,一个周期结束,下一
个周期开始。 但是输出什么波,心里不明白。CCR1,2是通过P1.2,P1.3输出,一个波怎么用两个IO??

我要输出一个PWM波,该怎么做,通过那个IO输出?

这个例程是两路PWM输出的。一路通过P1.2输出 75%占空比PWM(384/512)
一路通过P1.3输出 25%占空比PWM(128/512)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-11
CCR1控制P1.2输出占空比为75%的PWM,CCR2控制P1.3输出占空比为25%的PWM,这是两个PWM,要输出一个,随便去掉一个就行。
相似回答