I have a problem on receiving UDP packets on a WildFiremod board with MCF5282 micro.
I have a program like this:
INT32 udpCallback(......)
{
// if packet is a command, do work
}
int main(void)
{
tcpip_init(0);
gUdp_socket = udp_getsocket(0,udpCallback,0);
udp_open(gUdp_socket,port);
while(1) tcp_tick();
}
My problem is that after a couple of time (about 3-4 minutes) that program runs without receiving command packets, if I send it a packet, it doesn't execute callback. Only after 3 or 4 received packets it executes callback and process all packets received. Packets are not lost, because when program "wakes-up", it process all packets in the same order that it has received them.
I think that buffer queue hangs for an unknown cause, and then re-starts work in the right mode when buffer has more packets.
What might happens?
Thank you, regards
Mauro