MSP430-SDK: 仿真无法运行到断点

Part Number: MSP430-SDK

仿真无法运行到断点,见附图!

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 请检查变量“FLAG_TIME"的“的数据类型、它似乎只是“0"或“或“1"。“。 您可以将其定义为“bool"类型“类型。 当用户想要跳转到断点时、检查 FLAG_TIME 是否为 1。

    也许您还可以尝试将编译器优化级别调整为“0",“,检查、检查是否可以跳转到断点。

  • 我的IAR版本5.10.04 所有if 都是无法正确判断的。有时间帮我看看,什么原因吖?

  • #include "msp430f1121a.h"
    #include "stdbool.h"
    //----------
    
    
    unsigned  char    FLAG_TIME,FLAG_KEY1_SF,FLAG_KEY2_SF;;
    unsigned  char    CNT_KEY1,CNT_KEY2,CNT_SD,DATA_SD;
    
    
    //---
    
    void    PRO_CLR_RAM()
    {
       FLAG_TIME = 0;
       FLAG_KEY1_SF = 0;
       FLAG_KEY2_SF = 0;
       CNT_KEY1 = 0;
       CNT_KEY2 = 0;
       CNT_SD = 0;
      
     
    }
    //----
    
    int main( void )
    {
      // Stop watchdog timer to prevent time out reset
       WDTCTL = WDTPW + WDTHOLD;
      
      CCTL0 = CCIE;                   //使能CCR0中断
      CCR0 = 4032;
      
      TACTL = TASSEL_2 + MC_2;        // SMCLK, contmode 
      
      P1DIR = 0X0B;                  //00001011
      P1OUT = 0X00;
      
      PRO_CLR_RAM();
      
      __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt
      
    
      
      while(1)
      {
        
    
      }
        
    }
    
    
    //-----
    
    void     PRO_KEY()
    {
      if(FLAG_KEY1_SF == 0)
      {
          if((P1IN & 0X80) ==1)
          {
            CNT_KEY1++;
            if(CNT_KEY1>=5)
            {
              CNT_KEY1 = 0;
              FLAG_KEY1_SF = 1;
              P1OUT ^= 0X01;
            }
          }
          else
          {
            CNT_KEY1 = 0;
          }
      }
      else
      {
        if((P1IN & 0X80)==0)
        {
           FLAG_KEY1_SF= 0;
        }
        CNT_KEY1 = 0;
      }
           
      
      
      
    }
    /*******************************************
    函数名称:Timer_A 
    功    能:定时器A的中断服务函数
    参    数:无
    返回值  :无
    ********************************************/
    #pragma vector = TIMERA0_VECTOR
    __interrupt void Timer_A (void)             //5MS一次中断
    {  
        CCR0 += 4032;                  // Add Offset to CCR0
    //    P1OUT ^= 0X03;   
        PRO_KEY();
        
    }