[AVR单片机] ad7684,读不出来正确的数据。不知道为什么

[复制链接]
1084|2
 楼主| cpu51 发表于 2015-6-2 17:22 | 显示全部楼层 |阅读模式
读出来数据乱跳,不知道是不是我的驱动问题,搞过的帮我看看。
//****************************************************************************
//读AD数据  AD7684 0-65535
//**************************************************************
//数据采集
//
//*************************************************************
unsigned int  read_analog(void)  //数据采集
{
   unsigned char i;
   unsigned int q;
   
   q=0;
   AD_CS_L;
   delay(130);
   AD_CLK_H;  
              
   PORTD&=~BIT(7);           //输入低   out
// PORTD|=BIT(7);
   delay(100);
       
//  AD_CLK_L;
//  delay(130);       
                                   
     for(i=0;i<4;i++)   
       {  
        AD_CLK_H;
                delay(110);
        AD_CLK_L;                                   
        delay(110);
            }       
  //读AD7684数据               
     for(i=0;i<16;i++)   
      {             
                AD_CLK_H;
                delay(110);
                AD_CLK_L;
                delay(110);               
              if(0x80==(PIND&0x80))
                {
                          q=(q<<1);                
                      q=(q+1);                                                                                      
                         
                 }   
          else if(0x00==(PIND&0x80))
                 {             
                  q=(q<<1);
                 }                 
                 else ;   
              }               
                  
                AD_CLK_H;  
                delay(110);
        AD_CLK_L;                                   
        delay(110);
                AD_CS_H;       
                delay(110);
          return(q);  
  }
  
wujiaming9876 发表于 2016-10-14 22:11 | 显示全部楼层
wujiaming9876 发表于 2016-10-22 19:53 | 显示全部楼层
买到假货AD7684了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

461

帖子

0

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