ntc.c

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C语言 代码 · 共 56 行

C
56
字号
/*************************************************************************
 *
 *    Used with ICCARM and AARM.
 *
 *    (c) Copyright IAR Systems 2005
 *
 *    File name   : ntc.c
 *    Description : NTC termistor module
 *
 *    History :
 *    1. Date        : July 28, 2005
 *       Author      : Stanimir Bonev
 *       Description : Create
 *
 *    $Revision: 16170 $
**************************************************************************/
#include "ntc.h"

/*************************************************************************
 * Function Name: NtcRatioToTemperature
 * Parameters: Flo32 Ratio
 *
 * Return: Flo32
 *
 * Description: Calculate temperature by Rt to Rref ratio
 *
 *************************************************************************/
Flo32 NtcRatioToTemperature (Flo32 Ratio)
{
Flo64 Temp,TempLn;
  if(Ratio==0)
  {
    return(0);
  }
  TempLn = logl(((Flo64)1-Ratio)/Ratio);
  Temp = A1 + TempLn*B1 + TempLn*TempLn*C1+TempLn*TempLn*TempLn*D1;
  return((Flo32)((Flo64)1/Temp));
}

/*************************************************************************
 * Function Name: NtcTemperatureToRatio
 * Parameters: Flo32 Ratio
 *
 * Return: Flo32
 *
 * Description: Calculate the ratio from temperature
 *
 *************************************************************************/
Flo32 NtcTemperatureToRatio (Flo32 T)
{
Flo64 Temp;
  Temp = exp(A + B/T + C/(T*T) + D/(T*T*T));
  return((Flo32)((Flo64)1/(Temp+1)));
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?