找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

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

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

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

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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