|
TimerB有两个中断向量,如何设置才能进入TimerB的第二个中断向量呢?
[复制链接]
本帖最后由 helloxieyu 于 2015-4-10 10:01 编辑
int main( void )
{
WDTCTL = WDTPW +WDTHOLD;
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
P1REN|=BIT1;
P1DIR|=BIT1;
//中断设置,估计这里有问题,TimerB有两个中断向量,如何设置才能进入TimerB的第二个中断向量呢?
BCSCTL2 = DIVS0; //SMCLK除2
TB0CCR1 =62395;//常温接近1秒
TB0CTL=TBSSEL1+MC0+ TBCLR+ID0+ID1; //用DCO时钟,Up mode,时钟除8
TBCCTL1 |=CCIE; //开启CCR1中断
_EINT(); //使能中断,开始工作......
while(1)
{
OneSecondDo();
_BIS_SR(LPM1_bits+GIE);//进入LPM1
}
return 0;
}
#pragma vector = TIMERB1_VECTOR
__interrupt void Timer_B1_ISR(void) //TimerB的第二个中断向量,以前都是用TIMERB0_VECTOR用TB0CCR0没有问题的,
{ //现在想试试如何才能进入第二个中断向量
__bic_SR_register_on_exit(LPM1_bits); //唤醒MCU
}
void OneSecondDo()
{
P1OUT=(~P1OUT);
}
|
|