CH32V307以太網(wǎng)TCP,在while里存在大于2ms的阻塞時,接收數(shù)據(jù)會卡頓、慢。

應(yīng)用需求是向服務(wù)器發(fā)送HTTP請求獲取一個8MB大小的文件,然后寫入到spi flash(W25Q128)。

每接收到一包數(shù)據(jù)就寫入flash,但是因?yàn)閷?span>flash需要時間,會存在幾個毫秒的阻塞。
因?yàn)檫@點(diǎn)阻塞,會導(dǎo)致數(shù)據(jù)接收很慢、卡頓,但卡頓的時間遠(yuǎn)超這幾個毫秒。

想知道具體的原因以及解決辦法,已附帶上工程文件。

視頻太大,上傳不了,貼個鏈接,打印的是接收到的數(shù)據(jù)長度(累加)。


問了下GPT,給的答復(fù)是:
TCP 使用一個叫做滑動窗口的機(jī)制來控制數(shù)據(jù)的發(fā)送和接收。如果接收方不能及時處理和確認(rèn)數(shù)據(jù),發(fā)送方的窗口大小會減小,從而減少發(fā)送速度。當(dāng)你的代碼在處理接收到的數(shù)據(jù)時產(chǎn)生延遲,發(fā)送方可能會降低發(fā)送速度以避免網(wǎng)絡(luò)擁塞。


icon_rar.gifCH32V307RCT6-CYC3.zip


您好,307的例程是通過在主函數(shù)中查詢的方式實(shí)現(xiàn)的網(wǎng)絡(luò)通信,因此在主函數(shù)中的操作都會導(dǎo)致阻塞,因此建議將網(wǎng)絡(luò)傳輸部分放到定時器中斷或搭配操作系統(tǒng)(給網(wǎng)絡(luò)分配一個任務(wù))實(shí)現(xiàn),從而避免其他操作影響網(wǎng)絡(luò)運(yùn)行。附freertos例程:

icon_rar.giffreertos_net.zip

如有其它問題可郵箱聯(lián)系(zl@wch.cn)


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频