版权声明:本文为博主原创文章,遵循 CC 4.0 BY版权协议,转载请附上原文出处链接和本声明。lmt70使用笔记
一、芯片相关说明
此芯片有三种电压-温度转换方式分别是:
①一阶导数查表法
②二阶导数公式法
③三阶导数公式法
一阶导数查表法适用于人体窄温度范围的温度测量二阶和三阶公式法在宽温度范围-50度到100+度,提供全局更准确的转换。对于没有fpu单元的mcu和人体温度测温范围的应用,推荐使用一阶导数查表法。
二、移植相应驱动库
1.把lmt70.c lmt70.h 添加到项目2.编写自己的my_app.c添加到项目3.在while中加 my_app() ;mian里初始化init_my_app();while(1){my_app();}
三、驱动库源码分析
lmt70.c
#include"lmt70.h"#define VOL2TEMP_TABLE_SIZE 21/* 电压温度转换边,电压为μv,温度从-50度开始,步进为10度,向上增加 * 比如vol2temp_table[0] 表示-50度,vol2temp_table[1]就表示-40度。 * 此处最好换成对应adc转换后的数字输出,这样就可以避免adc输出换算成 * 电压导致的运算误差,同时也提高了运算速度。 */float v2t_tabl[VOL2TEMP_TABLE_SIZE]={1350.441,1300.593,1250.398,1199.884,1149.070,1097.987,1046.647,995.050,943.227,891.178,838.882,786.360,733.608,680.654,627.490,574.117,520.551,466.760,412.739,358.164,302.785};/* 斜率表,在十度区间内使用线性插值法 */float slope_tabl[VOL2TEMP_TABLE_SIZE]={4.985,5.020,5.051,5.081,5.108,5.134,5.160,5.182,5.205,5.230,5.252,5.275,5.295,5.316,5.337,5.357,5.379,5.402,5.458,5.538,5.538};/* 折半查表实现 */st