智能车制作

标题: 为何模拟摄像头经过AD采集出来的值都是64的倍数?? [打印本页]

作者: dyingendless    时间: 2012-3-9 06:26
标题: 为何模拟摄像头经过AD采集出来的值都是64的倍数??
AD初始代码如下。。改了好久了但是依旧是这么奇怪的值,图像显示出来都是错的。。

void ad_init() {
   
   ATD0CTL2 = 0b11000000;
   ATD0CTL3 = 0b00000100;
   ATD0CTL4 = 0b10000001;// BusClock*0.5/(prs+1)=2MHZ
   ATD0CTL5 = 0b10100000;
   ATD0DIEN = 0x00;
   /*
   ATD0CTL2 = 0xc0;
   ATD0CTL3 = 0x00; //0x08
   ATD0CTL4 = 0x83; //
   ATD0DIEN = 0x00;
   ATD0CTL5 = 0b10100000; //右对齐 无符号 连续
    */
   
}
char get_ad() {
  //_64M();
  while(!ATD0STAT2_CCF0);    // 独立通道转换完成标志位,每个通道转换结束后置位,
  return ATD0DR0L;
}

[attach]20187[/attach]




作者: dyingendless    时间: 2012-3-11 11:46
自顶!!!
作者: zy317409314    时间: 2012-3-12 10:38
感觉只有高2位有效。。。你自己看看问题出在哪儿
192、128 、64 对应的二进制分别是 1100 0000 、1000 0000 、0100 0000
作者: DEATHRACE    时间: 2012-3-12 13:18
估计是硬件方面的问题,你看一下是不是接线有问题?单片机不会有问题吧?自检一下吧。
作者: dyingendless    时间: 2012-3-12 16:16
谢谢!我再去检查看看
作者: 夏天C的微笑    时间: 2012-3-22 19:39
我发回来的更奇怪,都是20 2020 20 20 20 20
作者: 银魅    时间: 2013-3-10 10:25
我们的也是  、、、、、、、
作者: dyingendless    时间: 2013-3-12 21:52
银魅 发表于 2013-3-10 10:25
我们的也是  、、、、、、、

最后证实是AD转化初始化函数出错





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