msp430 g2553求助!想做一个按键捕获中断。。

2019-03-24 12:32发布

想做一个捕获中断,按下键的时候捕获计时器的值,松开的时候再捕获计时器的值

但是一开始的TIMER不知道该怎么设置



我是那么写的。。

TA1CTL = TASSEL_2 + ID_3+TACLR+MC_2+TAIE;        
        TA1CCTL1 =CAP+CM_3+CCIS_0+SCS+CCIE;
        
        P1SEL_bit.P3 = ON;




#pragma vector = TIMER1_A1_VECTOR
__interrupt void RTI_T1_TACCR1(void) {

   switch(TAIV)                                                    //TA中断向量查询
{

   case 2:                                                         //是捕获中断  2为CCR1捕获中断向量值
   if (TA1CCTL1 & CM0)                            //上升沿捕获
{
   TA1CCTL1=(CCTL1&(~CM0))|CM1;       //更变设置为下降沿触发
           start=TAR;                      //记录初始时间
           overflow=0;   
           P1IES_bit.P3=ON;//溢出计数变量复位
}
  else if (TA1CCTL1 & CM1)                            //下降沿捕获
{
    TA1CCTL1=(CCTL1&(~CM1))|CM0;                      //改为上升沿捕获
   en = TA0R;
          P1IES_bit.P3=OFF;
  
  }
  TA1CTL =  TASSEL_2 + ID_3+ MC_2 + TACLR + TAIE;
  CCTL1 |= CM_1+SCS+CCIS_0+CAP+CCIE;
   break;
         
   case 10:                                                //是溢出中断
   overflow++;                                //溢出次数自加1
         
   break;
         
   default:
   break;





但是运行的时候TAR一直都是0,而且按键根本没有反应。。

不知道该怎么办。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
aiguodelaoge
1楼-- · 2019-03-24 19:22
< 单片机的总中断开了吗?
wjy254834508
2楼-- · 2019-03-25 00:07
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章