标题:
C语言二分值查表程序,单片机+NTC测温度
[打印本页]
作者:
boboxuexi
时间:
2020-7-10 16:45
标题:
C语言二分值查表程序,单片机+NTC测温度
再来发一个驱动代码,希望对大家有帮助,
//NTC_TAB_SIZE
//当查找值 不等于表格中在值时,返回序列号小于下一个值, 例如 表中相邻 120,130, 输入125 则返回 130的序列号;
/**********二分法查表求温度值*********/
unsigned char get_ntc_temp(unsigned int value)
{
unsigned char index,middle,min,max=0;
min = 0;
max = NTC_TAB_SIZE-1;
if((value <= NTC10K_TAB[0])&&(value >= NTC10K_TAB[NTC_TAB_SIZE-1]))
{
if(value == NTC10K_TAB[0])
{
return 0;
}
if(value == NTC10K_TAB[NTC_TAB_SIZE-1])
{
return NTC_TAB_SIZE-1;
}
while(min <= max)
{
middle = (max + min) >>1;
if(value == NTC10K_TAB[middle])
{
index = middle; // TestCnt++;
return index;
}
else if(value > NTC10K_TAB[middle] )
{
max = middle;//TestCnt++;
}
else if( value <= NTC10K_TAB[middle] )
{
min = middle;//TestCnt++;
if((max - min)==1)
{
return min;
}
}
}
}
else
{
index = 0xff; // 温度超出数组范围,就返回0度
}
return index;
}
// aa = get_ntc_temp(3674);
复制代码
ntc.zip
2020-7-10 16:43 上传
点击文件名下载附件
下载积分: 黑币 -5
1.37 KB, 下载次数: 141, 下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1