W5200 Burst Read Fails

Hi All,

I have the W5200 interfaced to a CC3200 Master. I am running the SPI device with bit rate 100Khz in SPI Mode 0. I got the Byte Write and Byte Read working on the W5200. I also got the Burst Write working fine, but Burst read gets me only 0’s. Any suggestions as to how to move forward on this would be of great help.

I have adhered to the pseudo code
{
ISR_DISABLE(); // Interrupt Service Routine disable
CSoff(); // CS=0, SPI start
SpiSendData(((addr+idx) & 0xFF00) >> 8); // Address byte 1
SpiSendData((addr+idx) & 0x00FF); // Address byte 2
// Data write command + Data length upper 7bits
SpiSendData((data_read_command| ((data_len& 0x7F00) >> 8)));
// Data length bottom 8bits
SpiSendData((data_len& 0x00FF));
// Read data:On data_len> 1, Burst Read Processing Mode.
for(int idx = 0; idx<data_len; idx++)
{
SpiSendData(0xFF); // Dummy data
data_buf[idx] = SpiRecvData(idx); // Read data
}
CSon(); // CS=1, SPI end
ISR_ENABLE(); // Interrupt Service Routine disable
}

Many Thanks,
Soumya