智能车制作

标题: 程序 [打印本页]

作者: qxt    时间: 2018-4-8 14:26
标题: 程序
这样获取6个ad模块的值可以吗?KEA128
void adc_FIFO()
{
SIM_SCGC |= SIM_SCGC_ADC_MASK;
ADC_APCTL1=ADC_APCTL1_ADPC(16)|ADC_APCTL1_ADPC(15)|ADC_APCTL1_ADPC(14)|
   ADC_APCTL1_ADPC(13)|ADC_APCTL1_ADPC(12)|ADC_APCTL1_ADPC(11)|ADC_APCTL1_ADPC(10)|
     ADC_APCTL1_ADPC(9)|ADC_APCTL1_ADPC(8)|ADC_APCTL1_ADPC(7)|ADC_APCTL1_ADPC(6)|
       ADC_APCTL1_ADPC(5)|ADC_APCTL1_ADPC(4)|ADC_APCTL1_ADPC(3)|ADC_APCTL1_ADPC(2)|
         ADC_APCTL1_ADPC(1);
ADC->SC3  = (0
                  |ADC_SC3_ADICLK(0)            //选择总线时钟
                  |ADC_SC3_MODE(2)            //分辨率采集
                  //|ADC_SC3_ADLSMP_MASK        //0为短采样时间
                  |ADC_SC3_ADIV(0)              //分频系数为1
                  //|ADC_SC3_ADLPC_MASK         //长步长时间
                  );
ADC_SC4=ADC_SC4_AFDEP(15);
ADC_SC2=ADC_SC2_REFSEL(0);
ADC->SC1=ADC_SC1_ADCH(1); ADC->SC1=ADC_SC1_ADCH(2); ADC->SC1=ADC_SC1_ADCH(3);
  ADC->SC1=ADC_SC1_ADCH(4); ADC->SC1=ADC_SC1_ADCH(5); ADC->SC1=ADC_SC1_ADCH(6);
   ADC->SC1=ADC_SC1_ADCH(7); ADC->SC1=ADC_SC1_ADCH(8); ADC->SC1=ADC_SC1_ADCH(9);
    ADC->SC1=ADC_SC1_ADCH(10); ADC->SC1=ADC_SC1_ADCH(11); ADC->SC1=ADC_SC1_ADCH(12);
     ADC->SC1=ADC_SC1_ADCH(13); ADC->SC1=ADC_SC1_ADCH(14); ADC->SC1=ADC_SC1_ADCH(15);
      ADC->SC1=ADC_SC1_ADCH(16);
}
      
void adget(char i)
{ adc_FIFO(ADC0_SE0,ADC_16bit);
    for(i=0;i<16;i++)
  {
    while(!( ADC_SC1 & ADC_SC1_COCO_MASK )); //读取数据
      atdget0[i]=ADC_R;
   
  }
  adc_FIFO(ADC0_SE1,ADC_16bit);
  for(i=0;i<16;i++)
  {
    while(!( ADC_SC1 & ADC_SC1_COCO_MASK )); //读取数据
      atdget1[i]=ADC_R;
   
  }
   adc_FIFO(ADC0_SE2,ADC_16bit);
  for(i=0;i<16;i++)
  {
    while(!( ADC_SC1 & ADC_SC1_COCO_MASK )); //读取数据
      atdget2[i]=ADC_R;
   
  }
   adc_FIFO(ADC0_SE3,ADC_16bit);
  for(i=0;i<16;i++)
  {
    while(!( ADC_SC1 & ADC_SC1_COCO_MASK )); //读取数据
      atdget3[i]=ADC_R;
   
  }
  adc_FIFO(ADC0_SE4,ADC_16bit);
  for(i=0;i<16;i++)
  {
    while(!( ADC_SC1 & ADC_SC1_COCO_MASK )); //读取数据
      atdget4[i]=ADC_R;
   
  }
  adc_FIFO(ADC0_SE5,ADC_16bit);
  
  for(i=0;i<16;i++)
  {
    while(!( ADC_SC1 & ADC_SC1_COCO_MASK )); //读取数据
      atdget5[i]=ADC_R;
   
  }
}







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