Hello,
I have setup 4 sockets, 2 TCP servers, 1 TCP client and 1 UDP server. Using W5500 and ARM M4.
On a PC machine I have an UDP client and another UDP server. The client send a packet to 255.255.255.255, broadcast on a specified port. The W500 UDP server is supposed to get that packet and close the connection.
Everything works just fine but at some point the UDP server stops working. The client keeps broadcasting but on the W5500 side no longer acknowledges the packet.
This si what it;'s on the W5500 side while loop
...
uint8_t udp_socket_message = getSn_SR(udpServerSocket);
switch(udp_socket_message)
{
case SOCK_UDP:;
uint32_t udpRecvSize = getSn_RX_RSR(udpServerSocket);
if (udpRecvSize > 0)
....
}
disconnect(udpServerSocket);
...
The problem is that udpRecvSize is being reported as 0 when the problem occurs.
Board reset will fix the issue and repeated broadcast messages are processed correct but later it stops working again.
Should I do a specific check prior to calling genSn_SR?
Thanks.