AD5272的50 -tp存储器怎么读取。

Anonymous
Anonymous

如果按照资料里的:0x1419 0x0000 准备从存储器位置0x19读取数据。
                                    0x2000 0x0100 准备从控制寄存器读取数据。SDO输出16位字,其中最后10位包含存储器位置0x19的内容。

                                    0x0000 0xXXXX NOP指令0会通过SDO输出16位字,其中最后4位包含控制寄存器的内容。如果位C3 = 1,则熔丝编程命令成功。

这么做读出的是控制寄存器的内容,而不是存储器的内容,如果用0x0000读出的数据是512,不是制寄存器的内容。

这是我的部分代码,与stm32通信的:

WriteToAD5272ViaI2C(1,1,4,0); //复位
delay_us(5);
printf("111\n");
WriteToAD5272ViaI2C(1,1,7,3); //启用数据更新
delay_us(5);
delay_us(5);
printf("222\n");
 WriteToAD5272ViaI2C(1,1,5,5); //在下一帧中从SDO输出读取50-TP的内容。
 delay_us(5);
printf("333\n");
// WriteToAD5272ViaI2C(1,0,3,0); //将RDAC数据写入50-TP
// delay_s(1);
// printf("444\n");


AD5272Data=ReadFromAD5272ViaI2C(1,1,0,0); //读出内容
printf("Data=%d ",AD5272Data);