你好,最近在用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);
}
}