#include
#include
#include "hal_LCD.h"
#define Buzzer BIT7
#define Buzzer_Port P1OUT
#define Buzzer_DIR P1DIR
unsigned char key_value;
int main(void)
{
WDTCTL = WDTPW + WDTHOLD;
Init_LCD();
GPIO_selectInterruptEdge(GPIO_PORT_P1, GPIO_PIN2, GPIO_LOW_TO_HIGH_TRANSITION);
GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN2);
GPIO_clearInterrupt(GPIO_PORT_P1, GPIO_PIN2);
GPIO_enableInterrupt(GPIO_PORT_P1, GPIO_PIN2);
_EINT();
while(1)
{
}
}
#pragma vector = PORT1_VECTOR
__interrupt void P1_ISR(void)
{
switch(__even_in_range(P1IV,P1IV_P1IFG7))
{
case P1IV_P1IFG2: //It is SW1
showChar('K',pos1);
showChar('I',pos2);
showChar('C',pos3);
showChar('K',pos4);
showChar('0',pos5);
showChar('2',pos6);
key_value=0x01;
GPIO_clearInterrupt(GPIO_PORT_P1, GPIO_PIN2);
}
}
程序如上,按P1.2键无法进入中断,单片机型号是MSP430FR4133.
小弟我也不知道问题到底出在哪里,程序一样,但是就是有时候可以进入中断,有时候不可以。这一次是实在没有办法了,想找各位大神看看是不是程序有问题,结果贴在刚发出来没多久就又好了,实在是尴尬。。。。。