CCS6编程时出现观测结果的错误

void main()
{
//int i=0;
//unsigned char key=0,k=0;
{
{
InitSysCtrl();
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();

// LED_Init();
TIM0_Init(150,200000);//200ms
// UARTa_Init(4800);
// SMG_Init();
// KEY_Init();
AT24CXX_Init();//做了IIC端口初始化
Init_ADXL345();
if(Single_Read_ADXL345(0X00)==0xE5)
{
//delay_ms(5);
DELAY_US(51000);
}
else
{
//delay_ms(3);
DELAY_US(3
1000);
}

          ReadData_x();                          //检测
          CheckNum++;
          if((temp_Y>450)||(temp_Y<-450))
          {
            Normal_num++;  //正常次数
          }
          else
          {
            Error_num++;//倾斜次数
          }
          if((Error_num!=0)&&(Normal_num!=0))
          {
                BuShu++;    //步数脉冲
            Error_num=0;    //清除
            Normal_num=0;
          }
        step_num = BuShu/2;  //计数步数
        disJuLi = step_num*0.45;//距离
        }

while(1);
}

}

为什么观测步数和距离时显示this expression cause infinite evaluations?