我在调试24位的AD7718时,配置好AD的内部寄存器后,RDY引脚就变为低电平(数据寄存器的数值有效),然后就配置数据寄存器进行读操作。
根据这个时序图写程序:
adrd_data=0;
write_ad7718(0x44);//读DATA寄存器
CS_out_0();//cs=0
SCLK_out_1();//SCLK=1
for(i=0;i<=23;i++)
{
SCLK_out_0();//SCLK=0
delay_us(1);
adrd_data=adrd_data<<1;
adrd_data=adrd_data|(PINF&(1<<PF2));//PF2为DOUT引脚
delay_us(1);
SCLK_out_1();//SCLK=1
delay_us(1);
}
CS_out_1();//cs=1
adrd_data=adrd_data&0x00ffffff;//数据修正
return adrd_data;
参考电压为2.5V,该通道的模拟输入为1.3V左右,可读出来的数据一直为0,还有RDY的引脚也一直保持低电平(资料说读完数据后该引脚自动变为高电平),我后来就加了几个时钟试,结果还是不行!有哪位高手知道的请指点下,谢谢! |