已回答假定已回答

AD7992-0驱动代码问题紧急求救

hanhan0519 在 2016-6-14 詢問的問題
最後回覆由Rocky2016於2016-6-30提供

你好,最近在用AD7992,驱动是参考AD7991代码的,但是我看AD7991驱动的时候,有个delay(1000);这个代码延时大概是多长,我按照时序图写的代码不知道为什么一直读取出来的数据是FF,希望能得到官方支持。谢谢,希望尽快回复。

       AD7992_CON=0;

  Delay_us(10);

  AD7992_CON=1;

  Delay_us(10);

  AD7992_CON=0;

  Delay_us(10);

  IIC_Start();

  IIC_Send_Byte(0x21<<1 | 1);地址是0100001,读取操作

  IIC_Send_Byte(0);   //发送寄存器地址0

  a=IIC_Recieve_Byte(0);//读取1字节数据

   b=IIC_Recieve_Byte(0);//读取2字节数据

 

void IIC_Send_Byte(u8 txd)

{                      

   u8 t; 

   for(t=0;t<8;t++)

   {            

      delay(10);

     AD7992_EEP_SCL_SET(0);//拉低时钟开始数据传输

     delay(10);

     AD7992_EEP_SDA_SET((txd&0x80)>>7);

      txd<<=1;

     delay(10);   //对TEA5767这三个延时都是必须的

     AD7992_EEP_SCL_SET(1);

   }

}

結果