应用需求是向服务器发送HTTP请求获取一个8MB大小的文件,然后写入到spi flash(W25Q128)。
每接收到一包数据就写入flash,但是因为写flash需要时间,会存在几个毫秒的阻塞。
因为这点阻塞,会导致数据接收很慢、卡顿,但卡顿的时间远超这几个毫秒。
想知道具体的原因以及解决办法,已附带上工程文件。
视频太大,上传不了,贴个链接,打印的是接收到的数据长度(累加)。
问了下GPT,给的答复是:
TCP 使用一个叫做滑动窗口的机制来控制数据的发送和接收。如果接收方不能及时处理和确认数据,发送方的窗口大小会减小,从而减少发送速度。当你的代码在处理接收到的数据时产生延迟,发送方可能会降低发送速度以避免网络拥塞。
热门产品 :
CH32X035: 32位USB+USB PD单片机