1516|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

MSP430F5529 ADC参考采样实例 [复制链接]

本帖最后由 fish001 于 2019-9-10 19:05 编辑

采样实例
/*!
*     COPYRIGHT NOTICE
*     Copyright (c) 2016,CTGU-GB
*     All rights reserved.
*
*
* @file       main.c
*    MSP430F5529 平台主程序

* @author     CTGU-GB

*/
#include "include.h"
double adcDataTest[20];
/*******************************************************************************
*  函数名称:ADC_Filter(u32 num,double *adcDataStorage)
*  功能说明:ADC滤波函数
*  作者:klaus 邮箱:xcf2016a@outlook.com
*  参数说明:uint8_t num 输入滤波数据个数
*            double *adcDataStorage:滤波数组
*  函数返回:滤波结果
********************************************************************************/
double ADC_Filter(uint8_t num,double *adcDataStorage)
{
  uint8_t i,j,k;
  uint8_t noswap=1;
  double adc_sum_tmp=0,adc_ave_tmp=0;

  for(i=0;i<num-1;++i){   
      for(j=0;j<num-i-1;++j)
      {
          if(adcDataStorage[j]>adcDataStorage[j+1]){
              adcDataStorage[j]=adcDataStorage[j]+adcDataStorage[j+1];
              adcDataStorage[j+1]=adcDataStorage[j]-adcDataStorage[j+1];
              adcDataStorage[j]=adcDataStorage[j]-adcDataStorage[j+1];
              noswap=0;
          }
       }
      if(noswap) break;
  }
  for(k=2;k<num-2;k++)adc_sum_tmp += adcDataStorage[k];
  //adc_sum_tmp -= (adcDataStorage[0]+adcDataStorage[1]+adcDataStorage[num-2]+adcDataStorage[num-1]);    
  adc_ave_tmp=adc_sum_tmp/(num-4);
  adc_sum_tmp=0;

  return adc_ave_tmp;
}

void main()
{
  DisableInterrupts();          //禁止总中断

  LED_Init(LED_ALL);              //LED灯初始化
  OLED_Init();

  ADC_Init(ADC_CH2,ADC_VREF_3_3V,ADC_10bit);       //初始化通道,P6.1

  while(1)
  {  

    int i;
    for(i=0;i<20;i++)
    {
      adcDataTest=ADC_ReadChanelOnce(ADC_CH2)*3.3/1023;
      DELAY_MS(10);
    }
    double ad = ADC_Filter(20,adcDataTest);
    OLED_PrintfAt(FONT_ASCII_8X16,0,0,"ADValue:\n%.3f V",ad);         //在指定位置打印

  }
}

 

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表