Hi everyone

I think should be change the wiz_recv_data in w5300.c

because, If they use 16 bit process, recv buffer was big problems.

Please look at the bold font.

Forexample, If “wizdata[i] = (uint8_t)(rd >> 8)” data was 0x0201, when i used 16bit process, wizdata[i] value was 0x0201.
I think 0x0201 was mistake, original purpose is 0x0001 or 0x01. but 16bit process result is 0x0201. this is very big mistake.

If you can modify the this problem, It should be great.
void wiz_recv_data(uint8_t sn, uint8_t *wizdata, uint32_t len)
uint16_t rd = 0;
uint32_t i = 0;
if(len == 0) return;
for(i = 0; i < len; i++)
if((i & 0x01)==0)
rd = getSn_RX_FIFOR(sn);
wizdata[i] = (uint8_t)(rd >> 8);
else wizdata[i] = (uint8_t)rd; // For checking the memory access violation
sock_remained_byte[sn] = (uint8_t)rd & 0x00FFu; // back up the remaind fifo byte.
// If you use 16 bit process, perhaps, It should be recv buffer error
// I think it should be inclue the mask LSB.