标题: STM32单片机+LWIP TCP CLIENT tcp_write发送长数据数据失败 [打印本页]

作者: xiaohuohaoxiao    时间: 2022-9-28 13:58
标题: STM32单片机+LWIP TCP CLIENT tcp_write发送长数据数据失败
请教各位大佬:
在STM32 集成lwip时,使用 tcp_write发送长数据时,将数据拆分成 900一个包 分多个包发送, MEM_SIZE为1600  
1. tcp_write 没发送完一个数据包后 延迟一段时间发送
   此时问题是  只有第一个和最后一个(最后一个的数据要小于700)发送的数据包发送成功,其他的均 出现 could not allocate memory for pbuf copy size 900 错误

有试过 1.每次tcp_write 发送完后 调用 mem_free 释放内存,但这个没有效果,是这种释放内存的方式不对吗?
           2.将MEM_SIZE 的值增大,是可以增加tcp_write发送成功的次数

请问 能否在MEM_SIZE的值不变的情况下 tcp_write 能够一直连续发送成功?,万分感谢!!

作者: yzwzfyz    时间: 2022-9-29 16:25
是不是调用了现成的发送函数啊?查一下此函数的用法。
作者: glinfei    时间: 2022-9-29 17:29
没看程序,也不知接收速率及中间的动作,也就瞎猜:你只改了MEM_SIZE,把最小堆空间也加大一下。另外,主要是看看,数据接收逻辑,问题应该出在那里。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1