MSP430F5418 P2.5를 고에서 저 전환으로 설정했습니다. 그러나 저 - 고 및 고 - 저 전환 모두에 대해 인터럽트가 발생합니다. 아래 코드를 참고하십시오.MSP430F5418 포트 인터럽트가 high에서 low 및 low에서 high로 전환 될 때 발생합니다.
P2OUT |= BIT5 /* Enable P2.5 internal resistances */ P2REN |= BIT5 /* Set up P2.5 as pull-Up resistances */ P2IES |= BIT5; P2IE |= BIT5; P2IFG &= ~BIT5; /* P2.5 IFG cleared */ #pragma vector=PORT2_VECTOR __interrupt void port2_interrupt (void) { switch (P2IV) { case 0x0CU: { /* Do something here */ P2IFG &= ~BIT5; break; } default: { /* No Action */ break; } } }
신호가 제대로 디 바운드 되었습니까? 기계식 스위치에 똑바로 배선하지 마십시오. –
텍사스 msp를 사용하지 않고서도 나는 debounce라고 말하고 싶다. ISR에서 인터럽트를 비활성화하지 않으면 (코드가 자동으로 수행되는지는 모르겠지만 일반적으로 프로그래머가해야 할 일입니다), 디버깅만으로는 해결되지 않습니다. – rnunes
인터럽트 루틴이 입력되면 MSP430 장치에서 인터럽트가 자동으로 비활성화됩니다. – Ammamon