unsigned int table[]; //全局變量
float ADC_3,ADC_4,ADC_5; //局部變量
for(value=3;value<6;value++)
{
switch(value)
{
case 3:ADC_Channal(3); ADC_3=ADC_Convert(); if(ADC_3>5.0)break;table[3]=ADC_3*196.8/30.3;break;
case 4:ADC_Channal(4); ADC_4=ADC_Convert(); if(ADC_3>5.0)break;table[4]=ADC_4*196.8/30.3;break;
case 5:ADC_Channal(5); ADC_5=ADC_Convert(); if(ADC_3>5.0)break;table[5]=ADC_5*196.8;break;
}
}
程序目的
通常情況:ADC_Convert()函數(即ADC檢測電壓)正常,即ADC_3,ADC_4,ADC_5的值會小于5.0
特殊情況:ADC_Convert()函數(即ADC檢測電壓)不正常,ADC_3,ADC_4,ADC_5的值會大于5.0,
用一個if(ADC_3>5.0)來判斷,當大于5.0時就跳出,即table[3]保存應該是上次的值,
但發(fā)現,符合if()判斷時,table[]的值會變?yōu)?。
這不得其解,求教各位???
|