msp430中断按钮不起作用

时间:2013-12-10 23:32:52

标签: button interrupt msp430

使用msp430 mcu,我尝试使用位0,1,2,3处理port1上的中断。 问题是它只能识别BUTTON0(P1.0)。我还实现了P1方向位和P1中断使能位。为此,我编写了这段代码。

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{

   WDTCTL = WDT_ADLY_250; IFG1 &= ~WDTIFG; /* clear interrupt flag */

  if((P1IN & BUTTON3)!=BUTTON3 ){  

    if(cursor != 6){
      cursor++;
    }
   } 

  else if((P1IN & BUTTON2)!=BUTTON2){ 

    if(cursor != 0){
      cursor--;
    }
  }

 else if((P1IN & BUTTON1)!=BUTTON1){ 

    yapilanDegisiklikler[cursor]++;

  }


  else if((P1IN & BUTTON0)!=BUTTON0){

    yapilanDegisiklikler[cursor]--;
  }

P1IFG &= ~(BUTTON3+BUTTON2+BUTTON1+BUTTON0);

}

2 个答案:

答案 0 :(得分:0)

我不确定您是否使用的是TI MSP430 LaunchPad,但可以在此处找到一个很好的开端:MSP430 LaunchPad Push Button

答案 1 :(得分:0)

这是因为按钮的中断启用开关没有处于正确的状态。我调整了这个问题并解决了问题。