如果按照资料里的: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); //复位
延迟_us(5);
printf("111n");
WriteToAD5272ViaI2C(1,1,7,3); //启用数据更新
延迟_us(5);
延迟_us(5);
printf("222n");
WriteToAD5272ViaI2C(1,1,5,5); //在下一帧中从SDO输出读取50-TP的内容。
延迟_us(5);
printf("333n");
// WriteToAD5272ViaI2C(1,0,3,0); //将RDAC数据写入50-TP
/延迟_s(1);
// printf("444n");
AD5272Data=ReadFromAD5272ViaI2C(1,1,0,0); //读出内容
printf("Data=%d ",AD5272Data);