使用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);
}
答案 0 :(得分:0)
我不确定您是否使用的是TI MSP430 LaunchPad,但可以在此处找到一个很好的开端:MSP430 LaunchPad Push Button。
答案 1 :(得分:0)
这是因为按钮的中断启用开关没有处于正确的状态。我调整了这个问题并解决了问题。