已回答假定已回答

AD7765的数据输出口SDO输出全是1怎么办

ForrestJia 在 2014-7-18 詢問的問題
最後回覆由ForrestJia於2014-7-21提供

按照芯片资料写的读时序函数,但不知为什么数据输出全是1,是不是得先对AD控制寄存器进行写操作?

用示波器测得读时序和SDO电平如下图

QQ图片20140718103711.jpgQQ图片20140718103734.jpg

u32 ADC_Read(void)

{

          u8 i;

          u32 temp = 0;

  SCK = 0;

  delay_us(5);

          FSO = 1;

  SCK = 1;

  delay_us(5);

  SYNC = 0;

          SCK = 0;

          delay_us(5);

          SCK = 1;

          delay_us(1);

          FSO = 0;

          for(i=0;i<32;i++)

          {

                    delay_us(5);

                    SCK = 0;

                    temp<<=1;

 

                    if(SDO==1)

                              temp|=0x01;

                    else

                              temp&=~0x01;

 

                    delay_us(5);

                    SCK = 1;

 

          }

          delay_us(1);

          FSO = 1;

          return temp;

}

附件

結果