//ad值最大4096 //下偏rntc=(4096*上偏电阻)/4096-ad //上偏ntc=(4096-ad)*上偏电阻/ad 查表法 放阻值表 temp[]={,,,,,10000,,,,,,}; //1000对应25度 u16 get_Temperature(void) { if(ntc<10000)如果小于25度 向前查 for(i=[25];i>0;8--) { if(ntc>tmp[i]) { tmpL=tmp[i];//温度 tmpH=tmp[i+1];} i=0;退出循环 } ftmp=(ntc- tmpL) *10/( tmpH- tmpL);//小数 else 向后查 for(i=25;i<255;i++) { if( ntc<tmp[i]) { tmpH=tmp[i]; tmpL=tmp[i-1];//温度 i=255; } ftmp=(ntc- tmpL) *10/( tmpH- tmpL);//小数 } }
|