uint16_t uGetPCB_Temperature(void) { uint16_t x; float Adcn; float k; Adcn = userADC_var.ADCMeasureVals[num_PCB_ADC]; for(x=0;x<sizeof(NTC_PCB_D);x++) { if(Adcn>NTC_PCB_D[x]) { k=x-((Adcn - NTC_PCB_D[x+1])/(NTC_PCB_D[x]-NTC_PCB_D[x+1])); break; }else continue; } x = (uint16_t)(k*100); return x;// }
上面是計算得到的AD值,中段采取平均的算法。
經驗再多也只能看作加法,而經過理論升華的經驗,就可以看作乘法!
浙公網安備 33010602011771號