TorryLong

博客园 首页 新随笔 联系 订阅 管理
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值,中段采取平均的算法。

posted on 2020-05-28 11:59  TorryLong  阅读(737)  评论(0)    收藏  举报