msp430 mcu를 사용하면 비트 0,1,2,3을 사용하여 port1에서 인터럽트를 처리하려고합니다. 문제는 BUTTON0 (P1.0) 만 인식한다는 것입니다. 또한 P1 방향 비트 및 P1 인터럽트 가능 비트를 구현했습니다. 이렇게하려면이 코드를 작성했습니다.msp430 인터럽트 버튼이 작동하지 않습니다.
#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);
}
문제를 해결 한 모든 소스 코드를 게시하십시오. 예를 들어, 플래그 레지스터의 상태를 게시하십시오. – bblincoe