[mw_shl_code=c,true]if((SDErFlag==0)&&(PGErFlag==1))//湿度正常,盘管错误
{
switch (TempStatus)
{
case 1:
if(n_min_CompOn>=15)
HSStatus=1;
if(n_min_HSModeOn>=25)
HSStatus=0;
break;
case 2:
if(n_min_CompOn>=20)
HSStatus=1;
if(n_min_HSModeOn>=12)
HSStatus=0;
break;
case 3:
if(n_min_CompOn>=30)
HSStatus=1;
if(n_min_HSModeOn>=10)
HSStatus=0;
break;
case 4:
HSStatus=0;
break;
default :
break;
}
}
if((SDErFlag==1)&&(PGErFlag==1))//两个都U错误
{
if(n_min_CompOn >= 40)
HSStatus = 1;
if(n_min_HSModeOn >= 10)
HSStatus = 0;
}
if((HSStatus != HSStatusBe) || DefrostMode.CompDlyFlag) //前后两次判断后的状态有变化才执行
{
if(HSStatus)
{
DefrostMode.NumCnt++;
GetInHSMode();
}
else
{
if(DefrostMode.NumCnt>=15)
{
DefrostMode.CompDlyFlag = 1;
if((++DefrostMode.DlyTimeCnt) >= 900) //15min
{
DefrostMode.NumCnt = 0;
DefrostMode.CompDlyFlag = 0;
DefrostMode.DlyTimeCnt = 0;
GetOutHSMode();
}
}
else
{
GetOutHSMode();
}
}[/mw_shl_code]
如上一部分程序,switch语句中的一部分HSStatus赋值表示不能打断点,看了下汇编,根本没编译进去。 然后低吗底部的两个GetOutHSMode();,上面的那个不能打断点,一点击上面那个直接跳到了下面的那个。 请问这是个什么情况,菜鸟求帮助。
|