|
#include "TemperatureSensor.h"
float volt, cool, base_res, res;
float Result;
eThermocoupleIndex eTCIndex;
eTempResIndex eResIndex;
void main( void )
{
while( 1 )
{
( void )ThermocoupleCal( eTCIndex, volt, cool, &Result);
( void )ThermalResistanceCal( eResIndex, base_res, res, &Result);
}
}
/*******************************************************************************
* *
* 利用公式计算常用温度传感器的MSP430的IAR(3.42)库,具体公式参阅美国网站(免费) *
* *
* http://srdata.nist.gov/its90/main/ *
* *
* 抱歉,国内找不到免费网站. 标准出版社有图书可购买(便宜,100左右) *
* *
* 更遗憾的是,本库所采用的IAR版本是河蟹号版本,所以...... *
* *
* 苦力:李勇 QQ:78205173 E-mail:lihuyong#163.com / #gmail.com *
* *
* 希望这个库不能够帮到你,只有这样,你才有可能不会成为苦力. *
* *
* 你可以自由传播这个库(在不删除我的联系方式和寻人启事的前提下) *
* *
* 请不要向我索要C源代码(同行,原因不另行解释),除非你能够帮我找到她,并且校验通过 *
* *
* *
* 寻人启事 *
* *
* 有谁知道"2001入学的中国政法大学的法律自考生-白雪"的联系方式,请联系我,必谢 *
* *
*******************************************************************************/
#include "math.h"
typedef enum
{
TS_TC_B, // 分度号B
TS_TC_E, // 分度号E
TS_TC_J, // 分度号J
TS_TC_K, // 分度号K
TS_TC_N, // 分度号N
TS_TC_R, // 分度号R
TS_TC_S, // 分度号S
TS_TC_T, // 分度号T
} eThermocoupleIndex; // 热电偶的分度号
typedef enum
{
TS_RES_Pt, // 铂电阻
TS_RES_Cu, // 铜电阻
TS_RES_BA1, // BA1
TS_RES_BA2, // BA2
TS_RES_G53, // G53
} eTempResIndex; // 热电阻分度号
typedef enum
{
TS_ENOERR, // 没有错误
TS_EOUT_RANGE, // 输入的电阻/毫伏信号超出范围
} eTSErrorCode; // 错误代码
// fMilliVolt - 毫伏信号
// fColdSideTemperature - 冷端温度
// Result - 热端温度
eTSErrorCode ThermocoupleCal( eThermocoupleIndex eIndex, float fMilliVolt,
float fColdSideTemperature, float * Result );
// fBaseRes - 如果是Pt100的话,输入100;Cu50的话,输入50;以此类推
// fRes - 热电阻的阻值
// Result - 热电阻所测量的温度
eTSErrorCode ThermalResistanceCal( eTempResIndex eIndex, float fBaseRes,
float fRes, float * Result );
点击此处下载 ourdev_461382.rar(文件大小:33K) (原文件名:热电偶.rar)
节目预告:下一个库,可能是Modbus的通用库。 |
|