麻烦大神们帮忙看一下这段测脉宽的中断程序有什么问题,屏蔽掉TB6那段时TB3测试正确,打开时TB3就测试不对啦
*****************************************************************
函数名:
入口参数:
参数说明:
出口参数:
参数说明:
功能: 定时器TB的CCR3和CCR6的中断:用于检测脉冲上升与下降沿
代码编制:
******************************************************************/
#pragma vector=TIMERB1_VECTOR //定时器B中断处理
__interrupt void TIMER_B(void)
{
switch(TBIV) //向量查询
{
case 6: //捕获中断
if( TBCCTL3&CCI ) //上升沿
{
new_cap=TBCCR3;//记录初始时间
}
else
{
old_cap=TBCCR3; //记录下降沿的时间
TBCCTL3&=~CCIE;
}
break;
case 12: //捕获中断
if( TBCCTL6&CCI ) //上升沿
{
new_cap=TBCCR6;//记录初始时间
}
else
{
old_cap=TBCCR6; //记录下降沿的时间
TBCCTL6&=~CCIE;
}
break;
}
case 14: //定时器溢出中断
break;
default:break;
}
}
此帖出自
小平头技术问答
一周热门 更多>