微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > ADC扫描值显示的问题,求教?

ADC扫描值显示的问题,求教?

时间:10-02 整理:3721RD 点击:
ADC两个通道,分别接2V和0V,设置了扫描模式,想要显示ADC的获取值的平均值,为什么显示不出来?求教?
只是显示0  2  5  等积分数。

#include "stm32f10x.h"
#include "delay.h"
#include "lcd.h"
#include "adc.h"
#include "dac.h"
#include "dma.h"

u16 value[50][2]={0};         
u16 average[2];

void Get_Average(void)
{
                int sum=0,i,j;                  
                for(j=0;j<2;j++)               
                {
                        for(i=0;i<50;i++)
                        {
                         sum+=value[j];     
                        }
                        
                        average[j]=sum/50;         
                        sum=0;                     
                }
}
int main(void)
{
         
   u16 adcx;
   float temp;
   u8 i,j;
        
         
  delay_init();                 
  LCD_Init();      
  MY_ADC_Init();   
  MY_DAC_Init();   
  LCD_Screen();   
        MY_DMA_Init(DMA1_Channel1,(u32)&ADC1->DR,(u32)&value,100);   
  ADC_SoftwareStartConvCmd(ADC1,ENABLE);
        Dac1_Set_Vol(2000);

         while(1)
        {
                     Get_Average();
          for(i=0;i<2;i++)
                                  {
                                        LCD_ShowxNum(126,170,average,1,16,0);
                                  delay_ms(1000);
                                        }
        }
}

如果这是代码直接粘贴的话,那么sum+=value[j]; 这一句明显有问题value是二维数组....一堆指针加起来是什么鬼?

不是,打错了是value[j]

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top