I am working with LPC1788 with RTX Kernel.I have successfully setup the TCP/IP Server with the keil examples.The ethernet MTU is limited to ~1400 bytes.I am doing the following:
1]Listening on ethernet,Upon a TCP_DATA_EVT, triggering a transmission 2]First send packet 1, if more packets to be sent, then again use tcp_send ()
The first packet is transmitted ok, but i get nack from tcp_send on successive transmissions. If I send something to the uC again, then packet is transmitted ok
Can anyone guide as to how to send multiple packets.Is there any set of initializations that are to be performed...?
What do you mean by "get NACK from tcp_send"? What value does tcp_send() return? Have you checked the receiver side if it is ready to receive successive packets? Better using wireshark to monitor all the traffic between your target board and PC.
You should also enable the network debugging output to get more hints: http://www.keil.com/support/man/docs/rlarm/rlarm_tn_debug.htm
It was the case that in older versions of TCPnet that only one packet at a time could be undergoing transmission. This is to say that you have to send a packet, wait for acknowledgement and then send the next. The BSD style functions encapsulate this action. Don't now if this is different in newer releases.
View all questions in Keil forum