利用C语言的位移功能可以快速对采集2N次方数据取平均数

例:

/***********************************************************************
* 函数名称:void ADC_VDD_Sampling(void)
* 功能说明:内部电压读取 ADC=1/4VCC
* 输入参数:无
* 输出参数:ADC_12bit_VDD_Data:1/4VCC电压以12位数据存储,3v基准
* 返回值  :无
* 用法示例:无
* 注意事项:ADC读取时间44us
**********************************************************************/
void ADC_VDD_Sampling(void)
{ADMD = 0x90 | C_Quarter_VDD;          // ADC=1/4VDD 配置内部通道ADMDbits.START = 1;                       // ADC开始检测  while(ADMDbits.EOC == 0);                 // 延时程序等待转换结束R_ADC_VDD_DATA_HB = ADD;              // 寄存器“R_ADC_VDD_DATA_HB”存储VDD的ADC数据位11~4R_ADC_VDD_DATA_LB = 0x0F & ADR;           // 寄存器“R_ADC_VDD_DATA_LB”bit3~0存储VDD的ADC数据位3~0ADC_12bit_VDD_Data = (R_ADC_VDD_DATA_HB<<4)+R_ADC_VDD_DATA_LB;
}
/***********************************************************************
* 函数名称:void ADC_VDD_Average(void)
* 功能说明:读取多次ADC,求平均
* 输入参数:ADC_12bit_VDD_Data:ADC采集数据
* 输出参数:ADC_VDD_Abergar:16次ADC采集数据平均数
* 返回值  :无
* 用法示例:无
* 注意事项:时间800us左右 44*16=704us
**********************************************************************/
void ADC_VDD_Average(void)
{ADC_VDD_Abergar=0;for(j=0;j<16;j++){ADC_VDD_Sampling();ADC_VDD_Abergar += ADC_12bit_VDD_Data;}ADC_VDD_Abergar = ADC_VDD_Abergar >> 4;ADC_12bit_VDD_Data = 0XFFFF & ADC_VDD_Abergar;
}

ADC采集数据求平均相关推荐

  1. ADC采集数据(DMA模式)

    ADC采集数据(DMA模式) 写这篇文章,也是自己参考了一些书籍,加上自己的感悟总结之后写出来的.正所谓天下文章一大抄,取个文雅的名字叫模仿.借鉴.参考.不过这也是一种学习的方法,我想你看我这篇文章也 ...

  2. LPC1768 双通道ADC采集数据并发送

    实验需要用到两个ADC同时采集电压信号.LPC1768有8个通道的ADC,这次实验中使用了P0.23引脚的AD0[0]和P0.26引脚的AD0[3].在实验中用的是uCOS-II操作系统,设计了两个任 ...

  3. STM32Cubemx——ADC采集+DMA传输

    文章目录 一.准备工具 二.前置知识 1.ADC简介 2.DMA简介 2.STM32Cubemx配置 1.新建工程 2.时钟源选择及时钟树配置 3.时基选择调试接口选择 4.配置ADC采集 1.选择要 ...

  4. STM32 F446RET6多通道ADC采集

    本次配置是根据STM32CUBEIDE去开发的 DMA搬运数据规则 使用DMA搬运数据的时候我们会先建立一个数据缓冲区,将DMA采集的数据存放到数据缓冲区内.采集到的ADC的值根据通道的顺序一个一个的 ...

  5. STM32 热敏电阻NTC的软件设计(ADC采集)

    目录 前言 一.查表函数 二.ADC采集 三.查表 四.数据滤波 前言 记录一些我在工作和学习过程中遇到的问题. NTC:在淘宝随便买的 单片机型号:STM32G030C8T6 目的:用单片机采集NT ...

  6. c语言在一组数据中找最大值最小值,用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均...

    问题标题 用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均 2019-7-3来自ip:18.156.193.207的网友咨询 浏览量:318 手机版 ...

  7. 17. GD32F103C8T6入门教程-adc 使用教程2-dma+连续扫描方式采集数据++dma中断通知

    adc 使用教程3-dma方式采集数据+dma中断通知 adc 的扫描模式就是把配置了规则或注入通道按照配置的顺序采集一轮 adc 的连续转换模式就是把配置了规则或注入通道按照配置的顺序采集N轮 1. ...

  8. 16. GD32F103C8T6入门教程-adc 使用教程2-dma+连续扫描方式采集数据

    adc 使用教程2-dma+连续扫描方式采集数据 adc 的扫描模式就是把配置了规则或注入通道按照配置的顺序采集一轮 adc 的连续转换模式就是把配置了规则或注入通道按照配置的顺序采集N轮 1.时钟配 ...

  9. STM32h743开启cache后ADC采集DMA数据不更新问题

    STM32h743开启cache后ADC采集DMA数据不更新问题 解决办法 解决办法 1.DMA数据缓存地址进行32字节对齐,即地址是0x20的整数倍: __attribute__((at(0x380 ...

最新文章

  1. html 选择列表框,列表框和组合框的区别是什么?
  2. 在ubuntu16安装supervisor 并 启动 .net core.
  3. CTRL+SHIFT
  4. 网络安全应急演练方案内容_筑牢网络安全屏障 盐田区开展网络安全应急演练...
  5. RT-Thread I/O设备模型
  6. centos 安装mysql客户端_linux下mysql的yum源安装/配置/卸载
  7. OpenGL入门学习 课程 (三) 绘制几何图形的一些细节问题
  8. C++ 基本学习 C99基本语法(1)
  9. 计算机如何删除用户密码,怎么清除电脑开机密码
  10. 记录参加微软打造开发者社会生态圈线下会议
  11. 《巴菲特之道》精髓:巴菲特的股神进阶之路和投资方法
  12. 可以检测手机帧率和温度的软件_拯救者电竞手机Pro评测:不只是一台手机,更是游戏主机...
  13. You have not agreed to the Xcode license.
  14. 错失恐惧:铸造「区块链巴别塔」的原始动力
  15. RK3568烧录系统
  16. 计算机毕设——手机天气预报系统
  17. Generative Adversarial Nets 论文翻译
  18. 德温特专利数据的爬取(selenium\xpath\contains解决了输入框ID老是动态改变的问题)
  19. hdu2119 java_hdu2119 | 学步园
  20. 现代互联网网络拓扑的简单描述

热门文章

  1. tp-link 拨号失败 服务器无响应,无线路由器拨号无响应怎么办
  2. 不同版本cuda对应的NVIDIA驱动版本
  3. fri什么意思_fri(fri是什么意思中文翻译)
  4. mac环境搭建node.js并启服务
  5. 关于子类重写父类方法的问题
  6. AbstractQueuedSynchronizer同步队列与Condition等待队列协同机制
  7. 作为中台建设者,如何与前台协同呢?
  8. windows7 64位安装oracle10g
  9. 开关电源的EMC整改实例
  10. 微信朋友圈装x代码_朋友圈生成器有哪些_微信朋友圈生成器大全_微信朋友圈装逼生成器下载_飞翔软件专题...