历史上的今天
返回首页

历史上的今天

今天是:2025年02月15日(星期六)

2019年02月15日 | 【单片机笔记】二分法查找降序最接近的数

2019-02-15 来源:eefocus

最近用到的ntc热敏电阻比较多,测温度精度还可以,最主要的是还很廉价,原理是不同温度环境下热敏电阻的阻值不同,利用这个搭建一个电路用ADC测出来再转换得到热敏的电阻值就可以用查表就可以得到温度了。一般的温度阻值表多是降序的,而且非线性,这样的话就需要查找一个最接近的值去粗略的得到温度,也还是能精确到1度的。至于如何制把厂家给的pdf或者excel制作成程里面的数组,之前的笔记也有专门提到:


代码中非线性表快速转换成数组的实用方法

最后贴上查找代码:


static u8 Find_Num(const unsigned int code *tab,u16 SIZE, u16 num)

{

u8 left = 0,right = SIZE-1;


u8 middle;


u8 res;

while(left

{

middle = (left + right)/2;

if(num

else right = middle;

}


res = (abs(tab[middle+1] - num) > abs(tab[middle] - num)) ? middle : middle+1;

 

res = (abs(tab[middle-1] - num) > abs(res - num)) ? res : middle-1;


return res;

}



推荐阅读

史海拾趣

ACP Optoelectronic Technology Co Ltd公司的发展小趣事

ACP Optoelectronic Technology Co Ltd,在创立初期便专注于光电技术的研发。某年,公司研发团队成功开发出一种新型光电传感器,其性能远超当时市场上的同类产品。这一技术突破迅速吸引了行业内的关注,公司因此获得了大量订单,业绩迅速攀升。随着技术的不断完善和市场的不断拓展,ACP Optoelectronic Technology Co Ltd逐渐在光电领域崭露头角。

Esterline Power Systems公司的发展小趣事

Esterline Power Systems深知人才是企业发展的核心动力。因此,公司高度重视人才培养和团队建设。公司建立了完善的培训体系,为员工提供多元化的培训和发展机会。同时,公司还注重营造良好的企业文化氛围,鼓励员工积极参与团队合作和创新实践。这些举措不仅提高了员工的专业技能和综合素质,也增强了公司的凝聚力和竞争力。

福声科技(FUET)公司的发展小趣事

福声科技(FUET)的初创可以追溯到几年前,当时电子产业正蓬勃发展,对高质量电声元器件的需求日益增长。公司创始人凭借在电声领域的深厚积累,决定成立一家专注于电声产品研发、生产和销售的企业。初期,福声科技聚焦于贴片式无源蜂鸣器、高分贝报警器等产品,凭借其高性价比和稳定的性能,迅速在家电、移动通讯设备等领域获得市场认可,为公司的后续发展奠定了坚实基础。

Eby Company公司的发展小趣事

为了提供更好的物流服务,eBay推出了国际运送计划(eBay International Shipping)。该计划允许卖家将来自同一订单的多件物品合并在一个包裹中运送,从而减少了买家支付的运费。这一举措不仅提高了物流效率,也增加了买家的购买意愿。eBay还与其他物流公司合作,提供更快捷、更可靠的配送服务。

东科半导体(DK)公司的发展小趣事

东科半导体(DK)公司自创立之初,就专注于电源管理芯片的研发与生产。公司初期面临资金紧张、技术储备不足等挑战,但凭借对技术的执着追求和对市场的敏锐洞察,东科逐步在行业中崭露头角。公司创始人带领团队夜以继日地研发,成功推出了一系列具有竞争力的电源管理芯片产品,赢得了市场的认可。

EIC [EIC discrete Semiconductors]公司的发展小趣事

在国内市场取得一定成绩后,EIC公司开始将目光投向国际市场。公司积极参加国际电子展会,与国际知名企业进行技术交流与合作,不断拓展海外市场。通过国际化战略的实施,EIC的产品逐渐进入了欧洲、北美等发达国家和地区,并在当地建立了完善的销售和服务网络。这一过程中,EIC不仅提升了品牌影响力,也积累了丰富的国际化运营经验。

问答坊 | AI 解惑

关于LED胶水常见问题及解决方案

replyreload += \',\' + 369701;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

怎样画CCeCommandBar的背景图?

怎样画CCeCommandBar的背景图,又怎样才能把button放到指定位置? 想做过CCeCommandBar的派生类,各位高人能不能提供个例子啊,谢谢!…

查看全部问答>

Wince采用CWnd类创建窗口问题

    Wince采用CWnd创建窗口时,修改其窗口类,但窗口类会默认加上WCE_前缀,请问如何去掉其前缀。…

查看全部问答>

发布一个PC104开发技术群22814319

发布一个PC104开发技术群22814319,有这方面爱好的请加入!…

查看全部问答>

在form_load如何创建一个线程 运行一个死循环

我做了一个子过程 while(1)死循环 做监控用的 不停的去发送和接收数据   现在想form loda的时候  运行exe文件后 自动运行程序  打开主窗口 进入这个循环  该如何创建线程呢 我在pc调试能通过的 放到wince ...…

查看全部问答>

STR912FAW如何实现在线部分更新

有一个方案: BANK0中存放应用程序, BANK1存放BOOTLOADER(或系统程序), BANK0应用程序如果需要更新, 则调用BANK1中的相应代码执行更新操作. 请教各位这样是否可行? 如果可行, 那么BANK1中的相应代码应该才 ...…

查看全部问答>

学习板教程 第十课——串口通信

串口通信的基本原理及使用方法,欢迎下载,谢谢! [ 本帖最后由 764workshop 于 2012-1-11 21:32 编辑 ]…

查看全部问答>

稳压电源原理介绍

稳压电源一般由变压器、整流器和稳压器三大部分组成,如图示。变压器把市电交流电压变为所需要的低压交流电。整流器把交流电变为直流电。经滤波后,稳压器再把不稳定的直流电压变为稳定的直流电压输出。 一、稳压电源的技术指标及对稳压电源的要 ...…

查看全部问答>

【launchpad心得】课后练习十七之步进电机

1. 步进电机简介   步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进 ...…

查看全部问答>

滤波器可以做解调用吗?

大神,低通滤波器可以做解调用吗?? 将80KHZ左右的方波载波加载到10KHZ左右的源信号上,解调输出时,直接用低通滤波器将高于10Khz的信号过滤掉,不知道原理上有没有错误? 我仿真时,直接将80KHZ的方波作为低通滤波器的输入端,但输出为正弦信号 ...…

查看全部问答>