找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1386|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32單片機+LWIP TCP CLIENT tcp_write發(fā)送長數(shù)據(jù)數(shù)據(jù)失敗

[復(fù)制鏈接]
回帖獎勵 10 黑幣 回復(fù)本帖可獲得 10 黑幣獎勵! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:955654 發(fā)表于 2022-9-28 13:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請教各位大佬:
在STM32 集成lwip時,使用 tcp_write發(fā)送長數(shù)據(jù)時,將數(shù)據(jù)拆分成 900一個包 分多個包發(fā)送, MEM_SIZE為1600  
1. tcp_write 沒發(fā)送完一個數(shù)據(jù)包后 延遲一段時間發(fā)送
   此時問題是  只有第一個和最后一個(最后一個的數(shù)據(jù)要小于700)發(fā)送的數(shù)據(jù)包發(fā)送成功,其他的均 出現(xiàn) could not allocate memory for pbuf copy size 900 錯誤

有試過 1.每次tcp_write 發(fā)送完后 調(diào)用 mem_free 釋放內(nèi)存,但這個沒有效果,是這種釋放內(nèi)存的方式不對嗎?
           2.將MEM_SIZE 的值增大,是可以增加tcp_write發(fā)送成功的次數(shù)

請問 能否在MEM_SIZE的值不變的情況下 tcp_write 能夠一直連續(xù)發(fā)送成功?,萬分感謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2022-9-29 16:25 | 只看該作者
是不是調(diào)用了現(xiàn)成的發(fā)送函數(shù)?查一下此函數(shù)的用法。
回復(fù)

使用道具 舉報

板凳
ID:844772 發(fā)表于 2022-9-29 17:29 | 只看該作者
沒看程序,也不知接收速率及中間的動作,也就瞎猜:你只改了MEM_SIZE,把最小堆空間也加大一下。另外,主要是看看,數(shù)據(jù)接收邏輯,問題應(yīng)該出在那里。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表