独闷闷网

标题: "Tony-青岛"给大家贡献的NTC采集温度的两种算法程序。 [打印本页]

作者: 留声而过    时间: 2014-11-7 07:04
标题: "Tony-青岛"给大家贡献的NTC采集温度的两种算法程序。
本帖最后由 jianhong_wu 于 2015-1-11 16:07 编辑

为了兑现对鸿锅的承诺,决定发帖。有任何问题,请在鸿锅群当中@Tony——青岛。或者发邮件到。。。。。。

/**************方法一:**************/
ntcchabiao(void)                                         
{
    u16 R=0;
    float adc;  
    u16  i=0;

    adc=Get_Adc_Average(5,10);        
    R=(5470000/adc)  - 1000;
        while(1)
          {
             if(R>(Positivetemperature)) break;
             i=i+1;
             if(i>=106){i=106;break;}
          }
    return i;        
}
/**************方法二****************/
u8 Temperature1(void)
{  


        u8 min = 0;  
        u8 max = 106;
        u8 mid = 53;
        u16 R=0;
        float adc;  
        u16  i=0;

        adc=Get_Adc_Average(5,10);        
        R=(5470000/adc)  - 1000;
        if (R<Positivetemperature[106])  
        { return mid=106;}
        if (R>Positivetemperature[0])  
        { return mid=0;}

        while ((max-min)!=1) // 2分法查表。
          {
                if (R<Positivetemperature[mid])
                  {
                        min=mid;
                          mid = (min + max) / 2;
                  }
                else if (R>Positivetemperature[mid])
                  {
                        max=mid;
                        mid = (min + max) / 2;
                  }
                else
                  {         
                         return mid;
                  }
          }
        return mid;
}



作者: 着急10    时间: 2014-11-10 11:17
hao{:soso_e113:}
作者: 清风明月    时间: 2015-2-9 16:31
第一种方法,如果R>(Positivetemperature)不成立,让i自加106次有何意义呢?
作者: 清风明月    时间: 2015-2-9 16:40
如何滤波呢?




欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2