TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430G2553 Timer1 TA1IV中断

使用Timer1产生TAIV中断时,不知是中断无法进入,或者是进入后无法退出,以下是程序代码,在使用MC_2时功能正常,但是MC_1和MC_3就都不行,在下初学,望指教,谢谢~

#include <msp430g2553.h>
#include <intrinsics.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗定时器
// P2SEL |= BIT4+BIT2; // P2.2/4连接主外设即TA1.1/2
// P2DIR |= BIT4+BIT2; // P2.2/4输出
P1DIR |= BIT0; //P1.0输出
TA1CCR0=128; //定时周期
TA1CCTL1 = CCIE; // CCR0 CCR1中断使能
TA1CCTL2 = CCIE;
TA1CCR1=32; TA1CCR2=64;
TA1CTL = TASSEL_1 + MC_3 +TACLR; // ACLK, up-down 模式
__bis_SR_register(LPM3_bits + GIE); // 进入低功耗模式,使能全局中断
}

#pragma vector=TIMER1_A1_VECTOR
__interrupt void Timer_A1(void)
{
switch( TA1IV )
{
case 2: P1OUT |= 0x01;
break;
case 4: P1OUT &= 0xfe; break;
case 10: break;
}
}

灰小子:

MC_1是增计数,MC_2是连续增技术,MC_3是增减计数

这三种工作方式不太一样的。

建议参考430ware里的代码进行学习

user3999804:

回复 灰小子:

TI给的代码里应用CCR1和CCR2中断的都是在MC_2模式下的,我想在MC_3模式里用。今天试验的感觉是进入了CCR1中断之后就没有退出来返回主程序,不知道是怎么回事?

赞(0)
未经允许不得转载:TI中文支持网 » MSP430G2553 Timer1 TA1IV中断
分享到: 更多 (0)