This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

5501读SX1257状态寄存器



我用5501的MCBSP1接口连接SX1257的SPI接口控制其寄存器的读写。SX1257寄存器的读写时序如下图:

寄存器如下:

程序如下:

 Uint16 SPI_ReadReg(Uint16 addr)

{

Uint16 value=0;

addr &= 0x7f;

hMcbsp=MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);

SPI_8bit(hMcbsp);

 

while(!MCBSP_xrdy(hMcbsp)){};

MCBSP_write16(hMcbsp,addr);

while(!MCBSP_rrdy(hMcbsp)){};

value=MCBSP_read16(hMcbsp);

SPIEND_Delay();

MCBSP_close(hMcbsp);

return value;

}

执行该程序读出的寄存器只与寄存器的初始值不一致,并且将5501配置成不同的时钟读数也不一致,但都与寄存器的初始值不相符。

我用PLL_setFreq(0,15,0,0,0,1,0)函数配置的时钟,有源晶振为10MHz,SX1257的SPI接口最高工作时钟为10MHz,所以应该没有超出其时钟范围。

想请教一下老师,我应该从哪些方面查找程序的问题。

谢谢。