TimerB有两个中断向量,如何设置才能进入TimerB的第二个中断向量呢?

2019-03-24 10:21发布

本帖最后由 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);
            
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
lcofjp
1楼-- · 2019-03-24 15:28
看手册,你会找到答案。
helloxieyu
2楼-- · 2019-03-24 17:30
 精彩回答 2  元偷偷看……
helloxieyu
3楼-- · 2019-03-24 17:51
看MSP430F2274的手册才发现有TimerA及TimerB两个定时器,而且每个定时器都有两个中断向量,即一共有有4个中断向量,大家用的时候默认都习惯进入每个定时器的第一个中断向量,很少看到有利用到第二个中断向量的,那么,如何设置才能利用第二个中断向量呢?我的代码就那么几句,也不复杂啊,大大们能看出哪里出错吗?两天了,一直没能试验成功啊!

一周热门 更多>

相关问题

    相关文章