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.

MSP430G2553 4路PWM输出 开中断不正常

Other Parts Discussed in Thread: MSP430G2553

利用MSP430G2553 4路PWM输出产生,在不打开GIE的时候IO引脚输出正常但是打开GIE中断后输出不正常,具体程序如下:

void Timer0A3PWM()
{  
        P1DIR |=0x66 ;                             // 0110 0110
        P1SEL |=0x66 ;                             // 0110 0110
        
      TACTL |= TASSEL_2 + MC_1 ;       // TACTL=TA0CTL 时钟源选择SMCLK MCLK=SMCLK=TACLK=default DCO 增计数模式
              
        TACCTL0 |= OUTMOD_4;               //模式4是toggle翻转模式 计数达到TACCR0输出翻转 占空比50%    
        TACCTL1 |= OUTMOD_7;               //模式7是reset/set模式  计数达到TACCR1输出0  TACCR0输出1
       
        TACCR0 = 120-1;                          //模式4周期的一半 模式7的整周期PWM的周期是120  

        TACCR1 = 60;                               //模式7的占空比 PWM的初值为60 此时的占空比为50% 

 }

void main(void)
{
      WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
      Timer0A3PWM();  
     

//  _BIS_SR(LPM0_bits+ GIE );                    // Enter LPM0 w/ interrupt 中断使能后也不正常!

     _BIS_SR(LPM0_bits );                       //不打开中断都正常
      while (1);
}