//****读取中间值****//
short GetMedianNum(short * bArray, short iFilterLen)
{
short i,j,bTemp;// 排序循环
for (j = 0; j < iFilterLen - 1; j ++)
{
for (i = 0; i < iFilterLen - j - 1; i ++)
{
if (bArray[i] > bArray[i + 1])
{
// »¥»»
bTemp = bArray[i];
bArray[i] = bArray[i + 1];
bArray[i + 1] = bTemp;
}
}
}
if ((iFilterLen & 1) > 0)
{
// 奇数计算中值
bTemp = bArray[(iFilterLen + 1) / 2];
}
else
{
// 偶数个计算中值
bTemp = (bArray[iFilterLen / 2] + bArray[(iFilterLen / 2) - 1]) / 2;
}
return bTemp;
} void get_ADC_CH(void)
{
nrfx_err_t err_code;
static uint8_t ADC_CNT = 0;
static short ADC_ch_data[AdcUseCHs][ADC_FILTER_CNT];
uint8_t tempi,tempj; err_code = fu_peripheral_saadc_sample_convert(0, (nrf_saadc_value_t*)&userADC_var.buff[0][ADC_CNT]);
APP_ERROR_CHECK(err_code);
err_code = fu_peripheral_saadc_sample_convert(1, (nrf_saadc_value_t*)&userADC_var.buff[1][ADC_CNT]);
APP_ERROR_CHECK(err_code);
err_code = fu_peripheral_saadc_sample_convert(2, (nrf_saadc_value_t*)&userADC_var.buff[2][ADC_CNT]);
APP_ERROR_CHECK(err_code);
err_code = fu_peripheral_saadc_sample_convert(3, (nrf_saadc_value_t*)&userADC_var.buff[3][ADC_CNT]);
APP_ERROR_CHECK(err_code);
err_code = fu_peripheral_saadc_sample_convert(4, (nrf_saadc_value_t*)&userADC_var.buff[4][ADC_CNT]);
APP_ERROR_CHECK(err_code);
ADC_CNT++;
if(ADC_CNT>=ADC_FILTER_CNT)
{
ADC_CNT = 0;
} for(tempi= 0;tempi<AdcUseCHs;tempi++)
{
for(tempj= 0;tempj<ADC_FILTER_CNT;tempj++)
{
ADC_ch_data[tempi][tempj] = userADC_var.buff[tempi][tempj];
}
}
for(tempi= 0;tempi<AdcUseCHs;tempi++)
{
userADC_var.ADCMeasureVals[tempi] = (uint16_t)GetMedianNum(ADC_ch_data[tempi],ADC_FILTER_CNT);
}

读取nrf52832的ADC,并且获取N个数组中的中间值的更多相关文章

  1. PHP 如何获取二维数组中某个key的集合(高性能查找)

    分享下PHP 获取二维数组中某个key的集合的方法. 具体是这样的,如下一个二维数组,是从库中读取出来的. 代码: $user = array( 0 => array( 'id' => 1 ...

  2. javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

    主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除 ...

  3. 二维数组过滤,根据多个条件获取二维数组中指定的arr

    /** * 二维数组过滤,根据多个条件获取二维数组中指定的arr * @param $data_arr * @param $lm_number * @param $source_type * @par ...

  4. PHP中获取数组中单列的值

    PHP中获取数组中单列的值如下: 利用PHP中的数组函数 array_column():返回数组中某个单列的值.(PHP 5.5+适用) 语法: array_column(array,column_k ...

  5. javascript中获取字符串或数组中元素的索引

    有些时候,我们需要知道一个字符串中字符的位置,或者一个数组中元素的位置,这是就需要对该变量进行迭代操作. 对于数组,有两个方法indexOf和findIndex() , 需要注意的是,findInde ...

  6. python 数组中如何根据值,获取索引,如何根据索引删除值 , 以及如何根据值删除值

    假设有一数组 s = [1,2,3,4,5,6,7,8,9] (1)如何根据值获取索引 ,如果值为5 , 那对应的索引为? (2)如何根据索引删除值 , 删除数组中索引5对应的值: (3)根据数组中的 ...

  7. PHP 获取二维数组中某个key的集合

    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享. 具体是这样的,如下一个二维数组,是从库中读取出来的. 代码清单: $user = array( 0 => array( 'id'  ...

  8. PHP如何随机获取一个二维数组中的一个值

    获取一个数组: $awardid_list=pdo_fetchall('select id from '.tablename($this->table_award)); 这是微擎的写法哈,意思就 ...

  9. 教你在Java的普通类中轻松获取Session以及request中保存的值

    曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助! 如何在Java的 ...

  10. C# 如何获取自定义的config中节点的值,并修改节点的值

    现定义一个方法 DIYConfigHelper.cs using System; using System.Xml; using System.Configuration; using System. ...

随机推荐

  1. 瞬间并发测试-jmeter

    测试需求:秒杀场景,瞬间并发.通常来说,JMeter的线程数即为并发的压力数,实际上JMeter在运行时,每个线程是独立的,虽然有100个线程,但这些线程并不是同时向服务器发送请求,JMeter要模拟 ...

  2. 为什么Controller层注入的是Service接口,而不是ServiceImpl实现类

    转自csdn--https://blog.csdn.net/weixin_39565597/article/details/78078728 今天看代码发现,写法和自己理解的java写法不一致,就查找 ...

  3. 2019-2020-1 20199318《Linux内核原理与分析》第十一周作业

    <Linux内核原理与分析> 第十一周作业 一.预备知识 什么是ShellShock? Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全 ...

  4. Datax初使用

    为了掌握大数据采集技术,自学习了datax的使用 简介: DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.HDFS.Hive.OceanBase.H ...

  5. 在子组件中使用$parent获取不到父组件里的变量值?

    一直用的都是this.$parent来取父组件的值,现在发现,element-UI内的组件,也是一层父组件 例如 父组件内 子组件内   console.log 打印结果

  6. 在MyBatis-Plus整合dynamic-datasource @DS失效

    因为是事务导致的 解决方案: 1.删除事务 2.使用分布式事务 3.修改事务的传播机制 3.使用DS的本地事务 @DSTransactional 但切记不可和Spring的事务共存 附传播机制 事务传 ...

  7. fiddler抓包返回304

    为了验证部分场景需要对接口返回数据进行修改后验证前端代码逻辑处理,发现同一域名下其他接口都正常返回,但是某个端口返回304. 操作步骤是页面打开后接口已经请求了,这时候才打开fiddler抓取请求拦截 ...

  8. VeeValidate 注册实例

    注册 1 安装: npm install vee-validate --save 2.mian.js 填写 import Vue from 'vue' import VeeValidate, {Val ...

  9. SQLServer数据库,使用Alter修改表的主外键结构

    1.先创一张测试表,直接在创建时,设置UserId为主键 2.检查表有无主键约束 也可以使用SQL语句查询 SELECT name FROM sys.key_constraintsWHERE type ...

  10. 部署及配置Mycat数据库中间件

    Mycat关键特性关键特性支持SQL92标准支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用 ...