读取nrf52832的ADC,并且获取N个数组中的中间值
//****读取中间值****//
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个数组中的中间值的更多相关文章
- PHP 如何获取二维数组中某个key的集合(高性能查找)
分享下PHP 获取二维数组中某个key的集合的方法. 具体是这样的,如下一个二维数组,是从库中读取出来的. 代码: $user = array( 0 => array( 'id' => 1 ...
- 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.数组插入.删除 ...
- 二维数组过滤,根据多个条件获取二维数组中指定的arr
/** * 二维数组过滤,根据多个条件获取二维数组中指定的arr * @param $data_arr * @param $lm_number * @param $source_type * @par ...
- PHP中获取数组中单列的值
PHP中获取数组中单列的值如下: 利用PHP中的数组函数 array_column():返回数组中某个单列的值.(PHP 5.5+适用) 语法: array_column(array,column_k ...
- javascript中获取字符串或数组中元素的索引
有些时候,我们需要知道一个字符串中字符的位置,或者一个数组中元素的位置,这是就需要对该变量进行迭代操作. 对于数组,有两个方法indexOf和findIndex() , 需要注意的是,findInde ...
- python 数组中如何根据值,获取索引,如何根据索引删除值 , 以及如何根据值删除值
假设有一数组 s = [1,2,3,4,5,6,7,8,9] (1)如何根据值获取索引 ,如果值为5 , 那对应的索引为? (2)如何根据索引删除值 , 删除数组中索引5对应的值: (3)根据数组中的 ...
- PHP 获取二维数组中某个key的集合
本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享. 具体是这样的,如下一个二维数组,是从库中读取出来的. 代码清单: $user = array( 0 => array( 'id' ...
- PHP如何随机获取一个二维数组中的一个值
获取一个数组: $awardid_list=pdo_fetchall('select id from '.tablename($this->table_award)); 这是微擎的写法哈,意思就 ...
- 教你在Java的普通类中轻松获取Session以及request中保存的值
曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助! 如何在Java的 ...
- C# 如何获取自定义的config中节点的值,并修改节点的值
现定义一个方法 DIYConfigHelper.cs using System; using System.Xml; using System.Configuration; using System. ...
随机推荐
- 关于sql json数据的处理
$resultProductPrice = DB::update("update lev_product_price set detail=json_set(detail,'$.颜色','红 ...
- Cloud9 3.0 SDK安装
Cloud9 IDE是一个基于Node.JS构建的JavaScript程序开发Web IDE.它拥有一个非常快的文本编辑器支持为JS, HTML, CSS和这几种的混合代码进行着色显示.Cloud9 ...
- VUE3声明插件TypeScript类型
declare module '*.vue' { import type { DefineComponent } from 'vue'; // eslint-disable-next-line @ty ...
- Django中关于Manager的使用
首先介绍一下 manager 的使用场景,比如我们有一些表级别的,需要重复使用的功能,都可以使用 manager 来实现. 比如我们在前面的笔记中介绍的 model 的 create().update ...
- RabbitMQ学习第七章:消息确认机制之事务机制
RabbitMQ消息确认机制之事务机制. RabbitMQ中,我们可以通过持久化数据 解决RabbitMQ服务器异常 的数据丢失问题. 问题:生产者将消息发送出去,消息到底有没有到达RabbitMQ服 ...
- URAL2127 Determinant of a Graph 题解
这个题真的折磨了我超久的.全网几乎搜不到一个详细的题解,俺来写写吧. 题意:给你一个无自环无重边的连通无向图,求它邻接矩阵的行列式的值. \(n\le 2*10^5,n-1\le m \le n+50 ...
- Python接口测试request
requests安装 用pip安装requests模块 pip install requests 一.Get的使用 格式:get(url, params=None, **kwargs) Get常见查询 ...
- Pytorch Dropout函数
Dropout layers class torch.nn.Dropout(p=0.5, inplace=False) 随机将输入张量中部分元素设置为0.对于每次前向调用,被置0的元素都是随机的. 参 ...
- 12种SQL注入报错方式
1.通过floor报错,注入语句如下: and select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from info ...
- linux安装jdk脚本
使用Shell远程给Linux安装JDK #1.下载JDK(不同版本JDK更换链接即可) wget命令下载的文件会在当前目录下,所以如果在下载前最好先 cd 到想把JDK安装的位置,如果没有,可以 ...