上升沿中断,陷入死循环

2019-07-26 15:40发布

以下是我写的代码,求各位指教
  1. #include <msp430.h>
  2. #include<xianshi.h>
  3. #include<GPIO_init.h>
  4. #include<dushuju.h>

  5. ////上位机

  6. /*
  7. * main.c
  8. */
  9. unsigned char shidu,wendu,shiduh,shidul,wenduh,wendul,i;

  10. void main(void) {
  11.     WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
  12.     GPIO_init();
  13.     Init5110();

  14.         P2DIR&=~BIT0;
  15.         P2REN|=BIT0;
  16.         P2OUT&=~BIT0;    //设置为下拉电阻
  17.         P2IES&=~BIT0;   //上升沿中断
  18.         P2IFG&=~BIT0;
  19.         P2IE|=BIT0;
  20.         _enable_interrupts();
  21. }
  22. #pragma vector=PORT2_VECTOR
  23. __interrupt void PORT_2(void)
  24. {        P4DIR|=BIT7;   //
  25.         P4OUT|=BIT7;    //点亮led灯


  26.         P2IFG&=~BIT0;
  27. }
  28. void abort(void)
  29. {
  30.    /*-------------------------------------------------------------------*/
  31.    /* SET C$EXIT LABEL SO THE DEBUGGER KNOWS WHEN THE C++ PROGRAM HAS  */
  32.    /* COMPLETED.  THIS CAN BE REMOVED IF THE DEBUGGER IS NOT USED.      */
  33.    /*-------------------------------------------------------------------*/
  34.    __asm("        .global C$EXIT");
  35.    __asm("C$EXIT: nop");

  36.    for (;;);   /* SPINS FOREVER */
  37. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。