已回答假定已回答

问题: ad9910回读寄存器0x0e和0x0f问题,求助!!!

Run 在 2012-12-25 詢問的問題
最後回覆由ADI_Wei於2013-8-5提供

我在回读0x0e时是正确的,但是在回读0x0f时读出来的值是0x0e的值,不知道是什么原因,还有怎么读ram里面的值?是不是读对应的0x16的值,在读0x16的值时是我最后配置0x16的值,程序如下:
谢谢!!!
void Test_AD9910(void)
{
DA9910_Wdata32(0x00,0x80010002);
//配置寄存器CFR1-控制功能寄存器1
delay1us(10);
DA9910_Wdata32(0x01,0x00400820);
//配置寄存器CFR2
delay1us(10);
DA9910_Wdata32(0x02,0x1D3F4150);
//配置寄存器CFR3
delay1us(10);
//DA9910_Wdata32(0x03,0x0000007F); //配置寄存器
辅助DAC控制
//delay1us(10);
//DA9910_Wdata32(0x04,0xffffffff); //配置寄存器
I/O更新速率
//delay1us(10);

 

//delay1us(10);

 


//DA9910_Wdata32(0x0A,0x00000000);
//配置寄存器
多芯片同步
//delay1us(10);
//DA9910_Wdata64(0x0B,0x00191999,0x19999999);
//配置寄存器
数字斜坡限值
//delay1us(10);
//DA9910_Wdata64(0x0C,0x00191999,0x19999999);
//配置寄存器 数字斜坡步长
//delay1us(10);
//DA9910_Wdata32(0x0D,0x00000000); //配置寄存器
数字斜坡速率
//delay1us(10);
//DA9910_Wdata64(0x0E,0x08B50000,0x00418937);
//配置寄存器
单频调制profile0
//delay1us(10);

 

//DA9910_Wdata64(0x0E,0x00000000,0x0000400F);
//配置寄存器
RAM调制profile0
//delay1us(15);
DA9910_Wdata64(0x0F,0x00000001,0x1000400F);
//配置寄存器 RAM
profile1
delay1us(15);

 

rGPJDAT=0x00;
DA9910_Wdata32(0x16,0x10000000);

 


Delay(10);
rGPJDAT=0x20;
DA9910_Wdata32(0x16,0x11000000);
Delay(10);

 

//DA9910_Wdata64(0x0F,0x08B50000,0x0);
//配置寄存器 单频profile1
//delay1us(10);
DA9910_Wdata32(0x07,0x00418937);
//配置寄存器 FTW-频率调谐字
delay1us(10);
//DA9910_Wdata16(0x08,0x0000); //配置寄存器
POW-相位偏移字
//delay1us(10);
//DA9910_Wdata32(0x09,0x007affff); //配置寄存器
ASF-振幅比例因子
//delay1us(10);
/*
DA9910_Wdata64(0x10,0x00000034,0x00240000);
//配置寄存器
profile2
delay1us(10);
//rGPJDAT=0X08;
//DA9910_Wdata32(0x16,0x19999999);
//delay1us(10);

 


DA9910_Wdata64(0x11,0x00000044,0x00340000); //配置寄存器
profile3
delay1us(10);
//rGPJDAT=0X28;
//DA9910_Wdata32(0x16,0x19999999);

 

//delay1us(10);

 

DA9910_Wdata64(0x12,0x00000054,0x00440000); //配置寄存器
profile4
delay1us(10);
//rGPJDAT=0X02;
//DA9910_Wdata32(0x16,0x19999999);

 

//delay1us(10);

 

DA9910_Wdata64(0x13,0x00000064,0x00540000); //配置寄存器
profile5
delay1us(10);
//rGPJDAT=0X22;
//DA9910_Wdata32(0x16,0x19999999);

 

//delay1us(10);

 

DA9910_Wdata64(0x14,0x00000074,0x00640000); //配置寄存器
profile6
delay1us(10);
//rGPJDAT=0X0A;
//DA9910_Wdata32(0x16,0x19999999);

 

//delay1us(10);

 

DA9910_Wdata64(0x15,0x00000084,0x00740000); //配置寄存器
profile7

 

delay1us(10);
//rGPJDAT=0X2A;
//DA9910_Wdata32(0x16,0x19999999);
//配置寄存器 RAM
//delay1us(10);
*/
rGPJDAT=0x00;
ad9910read();
//while(1){rGPJDAT=0x20; Delay(100);
rGPJDAT=0x00;Delay(100);} //选择profile1,0交替

 

delay1us(100000);
}

結果