#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); } } /******************************************************************************* * * * * 抱歉,国内找不到免费网站. 标准出版社有图书可购买(便宜,100左右) * * * * 更遗憾的是,本库所采用的IAR版本是河蟹号版本,所以...... * * * * 苦力:李勇 QQ:78205173 E-mail:lihuyong#163.com / #gmail.com * * * * 希望这个库不能够帮到你,只有这样,你才有可能不会成为苦力. * * * * 你可以自由传播这个库(在不删除我的联系方式和寻人启事的前提下) * * * * 请不要向我索要C源代码(同行,原因不另行解释),除非你能够帮我找到她,并且校验通过 * * * * * *******************************************************************************/ #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, floatfColdSideTemperature, float * Result ); // fBaseRes - 如果是Pt100的话,输入100;Cu50的话,输入50;以此类推 // fRes - 热电阻的阻值 // Result - 热电阻所测量的温度 eTSErrorCodeThermalResistanceCal( eTempResIndex eIndex, float fBaseRes, float fRes, float * Result );
|