|
void UDP_Receive(void *arg, struct udp_pcb *upcb, struct pbuf *p,
struct ip_addr *addr, u16_t port)
{
uint8_t i=0;
struct ip_addr destAddr = *addr;
if(p != NULL) /* 如果收到的数据不为空 */
{
//pbuf_copy_partial(p, UDPData, p->len, 0);
udp_sendto(upcb,p,&destAddr,port); /* 将收到的数据再发送出去 */
pbuf_free(p); /* 释放缓冲区数据 */
}
}
UDP收数据,再将其收的数据返回PC,我一旦使用了pbuf_copy_partial把UDP接收的数据拷贝至UDPdata数组后,就不能再将接收的数据发出去了,该如何正确使用pbuf_copy_partial函数将udp收到的数据保存在自己定义的数组里呢?
|
|