/===========================================================================
TA1CCR0 = Lum100-1; // PWM Period 1000us/(1/8MHZ) 这里不减1 高电平还不能到100%
TA1CCR1 = 0;//PWM1_duty_cycle_Val; // CCR1 PWM duty cycle 2.1
TA1CCR2 = 0;//PWM1_duty_cycle_Val; // CCR2 PWM duty cycle 2.4
TA1CCTL0 = CCIE; // CCR0 interrupt enabled 就用这个中断
TA1CCTL1 = OUTMOD_7; // CCR1 reset/set
TA1CCTL2 = OUTMOD_7; // CCR2 reset/set
TA1CTL = TASSEL_2 + TACLR + MC_1; // SMCLK, up mode
然后 定时中断 更新
// Timer1 A0 interrupt service routine
#pragma vector=TIMER1_A0_VECTOR //TA1 CCR0
__interrupt void Timer1_A0 (void) //1khz
{
TA1CCR1 = PWM1_duty_cycle;
TA1CCR2 = PWM1_duty_cycle;
}
|