本帖最后由 lnsylyl 于 2017-2-8 09:35 编辑
新手发帖,搞错了位置,重新发下
udp_demo.c中
void udp_demo_senddata(struct udp_pcb *upcb)
{
struct pbuf *ptr;
ptr=pbuf_alloc(PBUF_TRANSPORT,strlen((char*)tcp_demo_sendbuf),PBUF_POOL); //éêÇëÄú′æ
if(ptr)
{
ptr->payload=(void*)tcp_demo_sendbuf;
udp_send(upcb,ptr); //udp·¢Ëíêy¾Y
pbuf_free(ptr);//êí·ÅÄú′æ
}
}
想把这个函数修改为发送Ram中的数据
void SendData_UDP(struct udp_pcb *upcb,u8*ps,u16 len)
{
struct pbuf *ptr;
ptr=pbuf_alloc(PBUF_TRANSPORT,len,PBUF_RAM);
if(ptr)
{
ptr->payload=(void*)ps;
//ptr->len=len;
//ptr->tot_len=len;
udp_send(upcb,ptr); //udp·¢Ëíêy¾Y
pbuf_free(ptr);//êí·ÅÄú′æ
}
}
实际调试中更换PBUF_TRANSPORT和PBUF_RAM多次,现象是能发送1~2次,之后就出现了硬件错误,不知道是什么原因:
1申请内存出了错误,
2内存释放出了错误
3内存申请后,初始化不完全
新手,对LWIP了解很少,求大神帮忙
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>