智能车制作

标题: AD采集数据问题 [打印本页]

作者: t5pkok    时间: 2010-4-23 16:03
标题: AD采集数据问题
我是做摄像头组的,用的是模拟摄像头,在用AD采集数据时发生了以下问题:当我单步运行程序时,AD可以将采的书存进数组里,当我设置断点全速运行时,数组里却没有数,我前后改了好几天,发现程序逻辑应该没有错>高人指点
作者: 王怀玉    时间: 2010-4-23 19:12
你用的是内部ad吗???
你先连续采集,存到固定的位置,让后再用串口传回来
作者: wangguoxiao    时间: 2010-4-24 00:33
请问AD采集数据不准确是什么原因?
作者: ssclark    时间: 2010-4-24 11:46
回复 2# 王怀玉


    请问下,你是用内部AD做采集的吗?总线时钟和AD时钟都到了多少啊 ?一行可以采到几个点啊?
作者: will4141    时间: 2010-4-24 13:05

作者: yang1000    时间: 2010-4-25 00:56
关注
作者: lmz9s12    时间: 2010-4-30 16:56
唉!我也遇到同样的问题!探索中!那位高手知道,希望指点一二!!感之不尽呀!!
作者: t5pkok    时间: 2010-5-1 21:25
回复 2# 王怀玉


   我是用的内部AD,我试试串口
作者: 王怀玉    时间: 2010-5-1 22:27
回复 8# t5pkok


    不知道你用的是不是单通道连续转换还是多通道连续转换,很有可能是你在躲数据的时候多的不是采集的那些数据,读的寄存器不对吧
作者: t5pkok    时间: 2010-5-2 09:58
回复 9# 王怀玉


    我用的是单通道连续转换,然后是左对齐方式,读的是AD寄存器的高8位,应该没有错的
作者: 王怀玉    时间: 2010-5-2 11:00
哦 知道了 你看一下我去年用的初始化代码吧
作者: 王怀玉    时间: 2010-5-2 11:01
#pragma CODE_SEG DEFAULT
void AD15_Init(void)
{  
    ATD0CTL0 = 0x00;
    ATD0CTL1 = 0x00;  //8位转换
    ATD0CTL2 = 0x40;  // 0100_0000     AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止
    ATD0CTL3 = 0x88;  //1000_1000   转换长度为一
    ATD0CTL4 = 0x01;  //   prs =9  9us    fATDCLK=fBUS/[2 × (PRS + 1)]   
                      //   prs =6  6.0us
                      //   prs =5  5.1us
                      //   prs =4  4.25us    ok*40/11
                      //   prs =3  3.3us
                      //   prs =2  2.64      使用中
                      //   prs =1  1.8
                      //   prs =0  1us
   // ATD0CTL5 = 0x0f;  //第15通道转换     
    ATD0DIEN = 0x00;
}


#pragma CODE_SEG DEFAULT
INT8U AD15_get(void)   
{
   INT8U temp;
        ATD0CTL5 = 0x0F;//启动ATD15位转换
       
while(!ATD0STAT0_SCF);

        temp = ATD0DR0L;  //从A/D数据寄存器15中读8位数据,此处为第15通道,video
        return  temp;
}
作者: 王怀玉    时间: 2010-5-2 11:02
我去年遇到过你的问题后来不知道改的哪个寄存器就好了
作者: t5pkok    时间: 2010-5-3 09:39
回复 11# 王怀玉

谢谢啊,呵呵,现在我试试
作者: jiayang    时间: 2010-5-6 22:59
请问楼上,你的采集现在对了没?
作者: t5pkok    时间: 2010-5-8 20:07
回复 16# jiayang


    还是不对,但是我勉强处理
作者: jiayang    时间: 2010-5-8 20:44
我的转换结果会有连续8个或者4个的连0,不知道是怎么回事啊?
作者: t5pkok    时间: 2010-5-30 16:46
我的转换结果会有连续8个或者4个的连0,不知道是怎么回事啊?
jiayang 发表于 2010-5-8 20:44



    我的也是,后来莫宁奇妙的好了,但数据感觉还是不对
作者: yanshengbin    时间: 2010-6-3 19:15

作者: zhangjugang    时间: 2010-7-8 02:32
AD时钟到了多少?采集了多少个点?
作者: foreverlzyt    时间: 2010-7-15 18:09
关注。。。。
作者: sweetcrying    时间: 2010-8-18 14:42
LZ能把你的AD采集程序发我一份,非常感谢!我愁的都快蛋疼了。sweetmark@163.com
作者: zhangbaijun    时间: 2010-8-23 10:57
恩。。。学习啦
作者: wjyeasy    时间: 2012-3-17 13:15
楼主可否给一个ad的例程啊wjyeasy@163.com
作者: ljbachelor    时间: 2012-3-27 19:14
要注意一下AD时钟的设置,不能高于某一值(视单片机而定),我用的MC9S12XEP100,AD单通道转换时间不低于4us。AD时钟高了会出现这样的问题!
作者: wangweinihao    时间: 2012-3-30 19:50
寄存器不对 初始化问题




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