智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1819|回复: 2
打印 上一主题 下一主题

ad采集问题

[复制链接]

8

主题

115

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
威望
304
贡献
43
兑换币
6
注册时间
2009-3-31
在线时间
17 小时
跳转到指定楼层
1#
发表于 2010-5-12 17:01:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
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程序哪里出了问题  我采集的值不准确   而且波动大
  能否帮忙解决一些

6

主题

185

帖子

0

精华

高级会员

Rank: 4

积分
963
威望
435
贡献
438
兑换币
0
注册时间
2010-1-11
在线时间
45 小时
2#
发表于 2010-5-14 22:15:01 | 只看该作者
一个序列结束后四个数据寄存都有值吧!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 20:51 , Processed in 0.046258 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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