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]保存应该是上次的值,
但发现,符合if()判断时,table[]的值会变为0。
这不得其解,求教各位???
|