如何查找两个数组表

为什么要写这篇

算是一次更深一些的思考吧,对于查数据表,通常都只有一个表格,如果翻看数据手册,就会看到数据表中对应的数值只是一个典型值,而实际情况是传感器的值必定会在某个范围内波动,对应一个上限值和一个下限值。通常使用这个典型值就可以了,方法就是这篇博客:

但如果需要查找两个数据表,分别是上限表和下限表,那该怎么办呢?顺序查表?有没有可能落空呢?我想到一个比较简单的办法,只要在范围内,必定会返回一个数值。

怎么实现

先对ADC采集的数值分别在两个数据表中进行查找,得到两个相近的值(假设是温度),然后再进一步判断(判断是否在该温度的上下限中,若不在两个温度的上下限中,则找最接近的温度),得到最接近的值(温度)。前提是传感器的上下限不存在重合部分,传感器的数值对应唯一温度

程序如下,可直接复制到菜鸟C在线工具中运行

#include <stdio.h>
#include <stdint.h>

#include <stdlib.h>
#include <time.h>

#define DEBUG_OUTPUT	0
#define ARRAY_SIZE 		40

uint16_t lower_limit[40] =
{
    6132,    5988,    5842,    5697,    5553,    5411
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值