LWIP超过200字节数据接收乱码

2019-03-24 10:25发布

在用Lwip接收SOCKET调试工具发送的超过200字节数组给LM3s8962处理时,200字节以后的数据出现乱码问题:   过程: 用SOCKET工具发送0123456789的序列,如图SocketData1.jpg:   现象: 在 Keil中调试信息,如图SocketData2.jpg:   求解: 是不是Lwip中要对Pbuf大小进行设置?怎么处理这个问题? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
h0nly_zhang
2019-03-25 23:32

 结贴!

 

       在回调函数中定义一个pbuf的结构,在使用pbuf *p时,将其传给p_r指针,程序中对p_r进行操作,而不是对p进行操作。

        struct pbuf *p_r;

        //

        for(p_r=p; p_r!=NULL; p_r=p_r->next)
        {
            memcpy(&gucFModelStr[bufLen], p_r->payload, p_r->len);

            bufLen += p_r->len;

        }

这样修改之后,就不会出现数据接收几次就不能再进入接收中断的情况了。

 

具体原因还是不清楚,但总是感觉p指针及p->next指针占用的内存没有释放。在这里留个记号,等以后有时间再深入研究,也请高手们不吝赐教!

 

 问题解决了,多谢Mr.FengZhang 和 Mr.Academic的鼎力相助!致敬!!!

一周热门 更多>

相关问题

    相关文章