AD通道切换后转换结果不对??

[复制链接]
3448|5
 楼主| ljp319 发表于 2010-1-15 15:04 | 显示全部楼层 |阅读模式
大体的程序如下:
  while(1)
{      
        if(temp_test>=N)//温度测定
        {
         temp_test=0;
         ADCON0|=0x1c;
         temp=AD();
         if(temp<tempalarm)
           tempover=1;
         else tempover=0;
        }

        delay200us();        
        ADCON0|=0x14;//采集踏板信号
        delay200us();
        pedal=0;
        ADRES=0;
        pedal=AD();
        PWMupdate(pedal);
        continue;
       }


char AD(void)
{
           char ADtemp=0;
            ADRES=0;
            ADGO=1;//启动转换
           while(ADGO==1){;}//等待转换完成
           ADtemp=ADRES;
            return ADtemp;
}

//200us延时程序
void delay200us()
{  
       int k=23;
       while(k--){;}                    
      }

温度输入通道直接接了个5V,踏板输入通道通过电位器产生0-5V电压,
程序中先采集温度(值为0xFF),后切换到踏板通道采集 但是每次采出来也是0xFF,
如果把温度采集的程序段去掉就正常了,
感觉是通道切换后AD采样电容上的电压没有降下来,但是加了延时还是这样 不知道怎么回事
请高手指教
yewuyi 发表于 2010-1-15 16:41 | 显示全部楼层
谁会看这些莫名其妙的CODE呢?!
 楼主| ljp319 发表于 2010-1-15 18:16 | 显示全部楼层
啥意思?
 楼主| ljp319 发表于 2010-1-15 19:04 | 显示全部楼层
搞定了 我脑子抽了写错代码了
leizi2008 发表于 2010-1-19 09:14 | 显示全部楼层
哪错了啊?
xymxym 发表于 2010-1-19 11:11 | 显示全部楼层
我感觉很多人不愿意多写注释,真是一字千金!
其实写注释是一个很好的回顾和检查当前这段程序的好方法,我很多时候的BUG都是在给每一句写注释时发现的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部