msp430捕获中断无法进入

[复制链接]
2838|23
 楼主| 碧螺春_123 发表于 2015-8-10 12:18 | 显示全部楼层 |阅读模式
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;     
}
dirtwillfly 发表于 2015-8-11 09:54 | 显示全部楼层
你用的什么型号msp430?
建议先运行一个官网的类似例程试试
shenmu2012 发表于 2015-8-11 19:46 | 显示全部楼层
还需要开启这个终端部获得中能及总中断的。
shenmu2012 发表于 2015-8-11 19:47 | 显示全部楼层
单独看着两个程序代码的,寄存器配置上都是没啥问题的。
 楼主| 碧螺春_123 发表于 2015-8-25 09:24 | 显示全部楼层
dirtwillfly 发表于 2015-8-11 09:54
你用的什么型号msp430?
建议先运行一个官网的类似例程试试

用的msp430f149  
 楼主| 碧螺春_123 发表于 2015-8-25 09:24 | 显示全部楼层
shenmu2012 发表于 2015-8-11 19:46
还需要开启这个终端部获得中能及总中断的。

总中断开了的
dirtwillfly 发表于 2015-8-25 12:40 | 显示全部楼层

这个型号官网有很多例程,你先运行试试
例程都在430ware里
comeon201208 发表于 2015-8-26 14:30 | 显示全部楼层
430的中断多很,需要都确认打开的,还有你的信号的输入管脚寄存器的设置的也需注意。
 楼主| 碧螺春_123 发表于 2015-8-26 16:55 | 显示全部楼层
comeon201208 发表于 2015-8-26 14:30
430的中断多很,需要都确认打开的,还有你的信号的输入管脚寄存器的设置的也需注意。 ...

谢谢哈
zhangbo1985 发表于 2015-8-27 13:54 | 显示全部楼层
你这同时用定时跟捕获的功能?最好分开的吧,单用捕获功能的就可以的。
baimiaocun2015 发表于 2015-8-27 18:19 | 显示全部楼层
采用捕获功能的时候就不要用其定时功能了的。
baimiaocun2015 发表于 2015-8-27 18:20 | 显示全部楼层
针对其定时功能的,可以再开一个timer的专门做定时用即可。
hudi008 发表于 2015-8-27 22:07 | 显示全部楼层
总中断呢?
lefeng 发表于 2015-8-31 20:42 | 显示全部楼层
设置断点看看哪些地方没执行
风清扬mxz 发表于 2015-9-2 10:47 | 显示全部楼层
引脚没有配置,选择引脚的第二功能
迪卡 发表于 2015-9-7 14:04 | 显示全部楼层
也可能是其他部分出了问题,楼主给的程序太短
李冬发 发表于 2015-9-7 14:31 | 显示全部楼层
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 发表于 2015-9-7 20:44 | 显示全部楼层
是程序上无法进入,还是引脚没连对呢
冰河w 发表于 2015-9-9 22:20 | 显示全部楼层

430的中断比较多,需要都确认打开的
FireRiver9 发表于 2015-9-9 22:27 | 显示全部楼层
寄存器配置对了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

146

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部