WIZnet Developer Forum

W5500 - TX_WR pointer math

Hello all:
I would like to understand the way W5500 handles TX_WR pointer.
I read the pointer twice:
Once at wiz_send_data() routine and once after send() rutine;
I expect that when reading it at the second time it will be larger by the len value, added to it before executing the send command.
I found that when it becomes larger than 0xFF it always shows the upper byte as 0x00!!
len = 0x9C
TX_WR = 0x0091 //before send()
TX_WR =0x002D //second reading-expecting it to be 0x012D

Why TX_WR is not 0x012D after send()? (it is 16 bits pointer…)
Might be printf() problem…
Any idea?

I tested like the picture below.

I don’t know exactly how many bytes I sent, but I seems work fine.


Hi, Thanks for responding.
I Am sure that it work alright. I guess it is monitoring issue but yet I have problem of a lot of extra bytes received by the server when I send a string to it.
I have to find the reason to that phenomena in order to be able to feed server with the
data collected by my sensors.
Any idea?

OK, I got every thing OK now. re compiled with last version of ioLibraray…

1 Like

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.