Elogo 发表于 2014-9-18 16:48:40

用CW6.3 写的程序 温度选择开关 AD子程序 问题(已解决)

本帖最后由 FSL_TICS_ZP 于 2014-10-8 16:12 编辑

            AD1_GetChanValue(TempMode_ch,&FiltedTempModeADValue);

            if(0<(byte)(FiltedTempModeADValue)<60){   //档位电压值1.05V      
                  TempModeStatus=16;       //制冷第6档
                  PTDD_PTDD5=1;
            }else if(60<=(byte)(FiltedTempModeADValue)<72){    //档位电压值1.29V      
                  TempModeStatus=15;       //制冷第5档
                  PTDD_PTDD5=0;
            }
            else if(73<=FiltedTempModeADValue<=84){    //档位电压值1.53V      
                  TempModeStatus=14;      //制冷第4档
            }
            else if(85<=FiltedTempModeADValue<=97){    //档位电压值1.77V      
                  TempModeStatus=13;       //制冷第3档
            }
            else if(98<=FiltedTempModeADValue<=108){   //档位电压值2V         
                  TempModeStatus=12;      //制冷第2档
            }
            else if(109<=FiltedTempModeADValue<=121){//档位电压值2.25V      
                  TempModeStatus=11;       //制冷第1档
            }
            else if(122<=FiltedTempModeADValue<=134){//档位电压值2.5V         
                  TempModeStatus=0;    //0档中间位置                     
            }
            else if(135<=FiltedTempModeADValue<=145){//档位电压值2.72V      
                  TempModeStatus=1;       //制热第1档
                   PTDD_PTDD5=0;
            }
            else if(146<=FiltedTempModeADValue<=157){//档位电压值2.94V      
                  TempModeStatus=2;      //制热第2档
                  PTDD_PTDD5=1;
            }
            else if(158<=FiltedTempModeADValue<=168){//档位电压值3.16V      
                  TempModeStatus=3;       //制热第3档
                   PTDD_PTDD5=0;
            }
            else if(169<=FiltedTempModeADValue<=180){//档位电压值3.4V         
                  TempModeStatus=4;      //制热第4档
                   PTDD_PTDD5=1;
            }
            else if(181<=FiltedTempModeADValue<=192){//档位电压值3.64V         
                  TempModeStatus=5;       //制热第5档
                  PTDD_PTDD5=0;
            }
            else if(193<=FiltedTempModeADValue<=255){//档位电压值3.89V         
                  TempModeStatus=6;       //制热第6档
                  PTDD_PTDD5=1;
            }

10MS运行一次的小程序,连上硬件后运行仿真,FiltedTempModeADValue的值不在59以内时(60以上别的数据), TempModeStatus为什么一直为16?????
换到KEIL里头应该不会有这个问题。。。

Elogo 发表于 2014-9-18 17:30:11

好吧    已经知道怎么回事了,非得把那个小范围用&& 分开,
if((0<FiltedTempModeADValue) && (FiltedTempModeADValue<60)){}
这样子。。
页: [1]
查看完整版本: 用CW6.3 写的程序 温度选择开关 AD子程序 问题(已解决)