智能车制作

标题: AD采集问题 [打印本页]

作者: zhouzuodong    时间: 2012-11-12 15:02
标题: AD采集问题
我采用8通道同时采集,但是我对AD的周期不清楚,是否说是经过一个采集周期以后,AD自动把第二组数存入ADVALUE这个数组?因为要采集5次数据做平均值算法,请问我是得每采集一次就得调用一次这个AD_Getvalue 函数么?还是得在采集完一次后中间设置延时(AD转换周期)等待第一次采集完然后用从数组里读取??



unsign ADvalue[8];
void AD_Getvalue(unsigned char *AD_value)
{
    while(!ATD0STAT2L_CCF0);
    *AD_value = ATD0DR0L;
    AD_value ++;
    while(!ATD0STAT2L_CCF1);
    *AD_value = ATD0DR1L;
    AD_value ++;
    while(!ATD0STAT2L_CCF2);
    *AD_value = ATD0DR2L;
    AD_value ++;
    while(!ATD0STAT2L_CCF3);
    *AD_value = ATD0DR3L;
    AD_value ++;
    while(!ATD0STAT2L_CCF4);
    *AD_value = ATD0DR4L;
    AD_value ++;
    while(!ATD0STAT2L_CCF5);
    *AD_value = ATD0DR5L;
    AD_value ++;
    while(!ATD0STAT2L_CCF6);
    *AD_value = ATD0DR6L;
    AD_value ++;

    while(!ATD0STAT2L_CCF7);
    *AD_value = ATD0DR7L;
    AD_value ++;
}  

         void collect(){
*AD_value=AD_value[0];
AD_Getvalue(AD_value);
  x1[1]=AD_value[0];
  x2[1]=AD_value[1];
  x3[1]=AD_value[2];
  x4[1]=AD_value[3];
  x5[1]=AD_value[4];
  x6[1]=AD_value[5];
  x7[1]=AD_value[6];
  x8[1]=AD_value[7];
     AD_Getvalue(AD_value);
x1[2]=AD_value[0];
x2[2]=AD_value[1];
x3[2]=AD_value[2];
x4[2]=AD_value[3];
x5[2]=AD_value[4];;
  x6[2]=AD_value[5];
  x7[2]=AD_value[6];
  x8[2]=AD_value[7];
     AD_Getvalue(AD_value);     
  x1[3]=AD_value[0];
  x2[3]=AD_value[1];
  x3[3]=AD_value[2];
  x4[3]=AD_value[3];
   x5[3]=AD_value[4];
  x6[3]=AD_value[5];
  x7[3]=AD_value[6];
  x8[3]=AD_value[7];
     AD_Getvalue(AD_value);   
x1[3]=AD_value[0];
  x2[3]=AD_value[1];
  x3[3]=AD_value[2];
  x4[3]=AD_value[3];
   x5[3]=AD_value[4];
  x6[3]=AD_value[5];
  x7[3]=AD_value[6];
  x8[3]=AD_value[7];
     AD_Getvalue(AD_value);
  x1[0]=AD_value[0];
  x2[0]=AD_value[1];
  x3[0]=AD_value[2];
  x4[0]=AD_value[3];
   x5[0]=AD_value[4];
  x6[0]=AD_value[5];
  x7[0]=AD_value[6];
  x8[0]=AD_value[7];
}



作者: songtt    时间: 2014-2-28 22:14
不知道你的这个问题解决了没有




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2