智能车制作

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

作者: 吾陪你    时间: 2010-5-12 17:01
标题: ad采集问题
void initATD(void){
    ATD0CTL0=0X03; //通道选择0123
    ATD0CTL1=0X40;//选择12为精度采样
    ATD0CTL2=0X40;// 快速清零  
    ATD0CTL3=0Xc0;//连续转换,多通道
    ATD0CTL4=0X01;//4个采样时钟,ATDclock=busclock/(a+1)*0.5
    ATD0CTL5=0X30;//右对齐,1个转化序列长度
    ATD0DIEN=0X00;
}
.......
void sample(void){   // ad
    //PORTB_PB7=0;
    while(!ATD0STAT0_SCF);   //等待转换结束
    sensor_st=ATD0DR0;
    while(!ATD0STAT0_SCF);   //等待转换结束
    sensor_le=ATD0DR1;
    while(!ATD0STAT0_SCF);   //等待转换结束
    sensor_se=ATD0DR2;
    while(!ATD0STAT0_SCF);   //等待转换结束
    sensor_lt=ATD0DR3;
}

请问各位大侠 这样写的ad程序哪里出了问题  我采集的值不准确   而且波动大
  能否帮忙解决一些
作者: 时代还怪    时间: 2010-5-14 22:15
一个序列结束后四个数据寄存都有值吧!




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