智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 799|回复: 0
打印 上一主题 下一主题

程序

[复制链接]

2

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
107
威望
57
贡献
32
兑换币
34
注册时间
2018-3-24
在线时间
9 小时
跳转到指定楼层
1#
发表于 2018-4-8 14:26:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
这样获取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;
   
  }
}


回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-25 14:28 , Processed in 0.294073 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表