[讨论] MSP430无法进入I/O口中断 求解答

497759272   2016-3-25 01:00 楼主
#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.
















回复评论 (3)

已解决 谢谢
点赞  2016-3-25 01:15
引用: 497759272 发表于 2016-3-25 01:15
已解决 谢谢

嗯,问题出在哪里了?给大家分享分享
点赞  2016-3-25 08:05
引用: maylove 发表于 2016-3-25 08:05
嗯,问题出在哪里了?给大家分享分享

小弟我也不知道问题到底出在哪里,程序一样,但是就是有时候可以进入中断,有时候不可以。这一次是实在没有办法了,想找各位大神看看是不是程序有问题,结果贴在刚发出来没多久就又好了,实在是尴尬。。。。。
点赞  2016-3-25 09:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复