msp430捕获中断无法进入

2019-07-19 15:56发布

void init_TB()
{
  
   TBCTL|=TBSSEL_2;                           //TACLK=SMCLK
   TBCCTL0|=CCIE;
   TBCCR0=62500;                               //CCR0定时周期15.625ms
   TBCCTL1|=CM_1+CCIS_0+SCS+CAP+CCIE;        //CCR1上升沿捕获,
   TBCTL|=MC_1;                               //增计数模式
}
#pragma vector=TIMERB1_VECTOR
__interrupt void Timer_a1(void)
{
     PutString0("A1 ");
     if(TBIV==2)
     count++;                            //捕获一个脉冲,count加一
     TBCCTL0|=CCIE;     
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
lefeng
1楼-- · 2019-07-21 03:08
设置断点看看哪些地方没执行
风清扬mxz
2楼-- · 2019-07-21 05:30
引脚没有配置,选择引脚的第二功能
迪卡
3楼-- · 2019-07-21 09:49
也可能是其他部分出了问题,楼主给的程序太短
李冬发
4楼-- · 2019-07-21 13:42
void Timer_init(void)
{
        // 8MHz SMCLK
        TACTL = TASSEL_2 + MC_2;            // SMCLK, start in continuous mode
        TACCTL0 = SCS + CM1 + CAP + CCIE;   // Sync, Neg Edge, Capture, Int
        TACCTL1 = SCS + CM1 + CAP + CCIE;   // Sync, Neg Edge, Capture, Int
        TACCTL2 = SCS + CM1 + CAP + CCIE;   // Sync, Neg Edge, Capture, Int
}

这个是可以运行的。你看看你哪不对了,要是用这个可以也不能运行,你就找找别的地方了。
Thor9
5楼-- · 2019-07-21 18:28
 精彩回答 2  元偷偷看……
冰河w
6楼-- · 2019-07-21 20:58

430的中断比较多,需要都确认打开的

一周热门 更多>