独闷闷网

标题: "Inc-东莞"给大家贡献的NTC查表算法源代码。 [打印本页]

作者: jianhong_wu    时间: 2015-1-11 16:04
标题: "Inc-东莞"给大家贡献的NTC查表算法源代码。
Inc-东莞:
给大家贡献我的NTC查表算法:
  1. uint8_t Libraryserch(const uint16_t *pNTCBuf, uint8_t len, uint16_t key)
  2. {
  3.         uint8_t high = len;
  4.         uint8_t low = 0;
  5.         uint8_t middle;

  6.         if( key < *(pNTCBuf+high)) //如果小于最小值,报错
  7.         {
  8.                 return NTC_ERROR_MINER_CODE;
  9.         }
  10.         else if ( key > *(pNTCBuf+low) )//大于最大值,报错
  11.         {
  12.                 return NTC_ERROR_BINGER_CODE;
  13.         }
  14.         else
  15.         {
  16.                 for( middle = len/2; ( high - low)!=1; )
  17.                 {
  18.                         if( key > *(pNTCBuf+middle) )//前半段
  19.                         {
  20.                                 high = middle;
  21.                                 middle /= 2;
  22.                         }
  23.                         else if( key < *(pNTCBuf+middle) )//后半段
  24.                         {
  25.                                 low = middle;
  26.                                 middle = (low + high)/2;
  27.                         }
  28.                         else
  29.                         {
  30.                                 return middle;
  31.                         }

  32.                 }
  33.                 //4舍5入
  34.                 if( (*(pNTCBuf+low)-key)>=(key-*(pNTCBuf+high)) )
  35.                 {
  36.                         return low;
  37.                 }
  38.                 else
  39.                 {
  40.                         return high;
  41.                 }
  42.         }


  43. }
复制代码



作者: fzwwj95    时间: 2015-1-13 22:02
大神手笔{:soso_e179:}




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