msp430定时器脉宽测试

2019-03-24 08:15发布

麻烦大神们帮忙看一下这段测脉宽的中断程序有什么问题,屏蔽掉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;

}

} 此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章