总结:ADS8354是一个32位的ADC,但是前16位输出寄存器的值,后16位输出所读数据,所以他是一个16位的ADC.
0x1000
0001 0000 0000 0000
int readresult=read_register(0x1000);//读SDOA的数据输出
总结:
int readresult=read_register(0x1000);//读A
while((readresult & 0x0FFF)!=0x0348) //2v电压
{
write_register(0x9348);
readresult=read_register(0x1000);//读A使能11到0位
}
readresult=read_register(0x2000);//读B
while((readresult & 0x0FFF)!=0x0348) //2V电压
{
write_register(0xA348);
readresult=read_register(0x2000);
}
readresult=read_register(0x3000);//读CFR
while((readresult & 0x0FFF)!=0x0440) //0000 0100 0100 0000,写控制寄存器
{
write_register(0x8440);
readresult=read_register(0x3000);
REFDAC_A read:SDO-A的数据输出。
while((readresult & 0x0FFF)!=0x0348) //0000 0011 0100 1000,11:3位16进制069典型电压2V
{
write_register(0x9348);//写0010 0100 1000 0100即读B的输出
readresult=read_register(0x1000);//读A使能11到0位
}
readresult=read_register(0x2000);//读B
以上寄存器配置总结:读取A通道的数据和读取B通道的数据判断参考电压是否正确不正确重新写入后再读取数据。
控制寄存器是配置数据读取的。总共三种寄存器,比一般的多了电压配置。