我使用STM32F107+LWIP制作一个网络模块。工作流程是上位机通过UDP发送信息给模块,模块再通过UDP返回信息。现在的问题的是如果模块只接收信息而不发送,一切正常,一旦接收信息后再通过UDP返回给PC,只能正常地返回10次,10次以后模块再也不能接收信息了。
- //UDP初始化
- g_upcb = udp_new();
- udp_bind(g_upcb, &ip_l, 60000);
- udp_recv(g_upcb, &my_udp_rx, NULL);
- pbuf_free(p);
下面是在接收函数里面的操作
- p = pbuf_alloc(PBUF_TRANSPORT,sizeof(msg),PBUF_RAM);
- memcpy (p->payload, msg, sizeof(msg));
- udp_sendto(upcb,p,&ip_BoatCast,60003);
- pbuf_free(p);
|