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

2019-03-24 10:25发布

在用Lwip接收SOCKET调试工具发送的超过200字节数组给LM3s8962处理时,200字节以后的数据出现乱码问题:   过程: 用SOCKET工具发送0123456789的序列,如图SocketData1.jpg:   现象: 在 Keil中调试信息,如图SocketData2.jpg:   求解: 是不是Lwip中要对Pbuf大小进行设置?怎么处理这个问题? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
h0nly_zhang
1楼-- · 2019-03-25 07:44
 精彩回答 2  元偷偷看……
academic
2楼-- · 2019-03-25 08:32
这么说是接收缓冲区设置的不够大引起的?
fengzhang2002
3楼-- · 2019-03-25 12:58
可以的,不是缓冲区不够,而是内存小了为了节约内存才这样做的
h0nly_zhang
4楼-- · 2019-03-25 18:24
 精彩回答 2  元偷偷看……
h0nly_zhang
5楼-- · 2019-03-25 19:13

又有了新的问题:

 

我通过Socket工具连续向8962发送1112字节数组,发送一次的过程:

1.8962发起连接网络;

2.Socket发送1112字节数据;

3.8962接收数据,并将其回发给Socket工具;

4.断开网络连接。

 

现象:

前三次收发正确,在第4次建立连接之后,向8962发送数据(数据大小都一样),没有进入到网络接收程序中,但是,此时单片机还在工作,也可以再次建立TCP连接。

 

疑问:

我的pbuf在每次进行完数据接收任务之后都已经释放,请问是什么原因导致接收不到数据?

[ 本帖最后由 h0nly_zhang 于 2011-3-8 17:12 编辑 ]
h0nly_zhang
6楼-- · 2019-03-25 19:22

将lwipopts.h中的TCP_MSS修改为128之后,同样数据的重发次数有所提高。

//#define TCP_MSS                         1460        // default is 128  可连接4次
//#define TCP_MSS                         128        // default is 128  实验证明可连接13次

 

出现这种情况是不是接收内存耗尽了导致不能接收? 怎么回事啊?

一周热门 更多>

相关问题

    相关文章