java stm32wifi模块_STM32F103RE单片机驱动88W8801 WiFi模块,如何提高TCP和UDP的传输速率...

本文详细记录了使用STM32F103RE单片机驱动88W8801 WiFi模块时,通过优化 lwip2.1.2 配置和关闭串口打印,显著提高TCP和UDP传输速率的过程。测试结果显示,TCP传输速度提升至1.7KB/s以上,而UDP速度最高可达1.5MB/s。
摘要由CSDN通过智能技术生成

测试时使用的程序:Marvell 88W8801 WiFi模块创建或连接热点,并使用lwip2.1.2建立http服务器(20200208版)(F1程序/HAL库版本SDIO接口)

一、修改前的速度:

TCP:

80aa299859f505e0a144d640e2081e3e.png

很慢很慢,才7KB/s。。。

收到747520字节,用时100.64秒,速率7.25KB/s

收到747520字节,用时100.84秒,速率7.24KB/s

收到747520字节,用时102.21秒,速率7.14KB/s

收到747520字节,用时101.12秒,速率7.22KB/s

收到747520字节,用时101.39秒,速率7.20KB/s

收到747520字节,用时101.14秒,速率7.22KB/s

收到747520字节,用时101.88秒,速率7.17KB/s

收到747520字节,用时102.31秒,速率7.14KB/s

收到747520字节,用时102.77秒,速率7.10KB/s

收到747520字节,用时102.62秒,速率7.11KB/s

UDP:

3f45912c06b49547bd132b651c9a6935.png

收到1024个数据包,用时10.83秒,速率120.08KB/s

收到1024个数据包,用时7.29秒,速率178.45KB/s

收到1024个数据包,用时7.29秒,速率178.45KB/s

收到1024个数据包,用时7.32秒,速率177.67KB/s

收到1024个数据包,用时7.41秒,速率175.44KB/s

收到1024个数据包,用时7.29秒,速率178.45KB/s

收到1024个数据包,用时7.30秒,速率178.06KB/s

收到1024个数据包,用时7.33秒,速率177.30KB/s

收到1024个数据包,用时7.29秒,速率178.42KB/s

收到1024个数据包,用时7.79秒,速率166.99KB/s

从串口打印中可以看出,每个数据包的时间间隔都是75ms:

90e358c2e18587758e721bd73e92c088.png

二、提高UDP的传输速率

打开common.c,注释掉usart_send函数里面的内容,关闭串口打印输出。

e81bed59ed94346f9eed0cd2efcf1d83.png

修改后测速结果:

dc0765d913fa76aa04f84e6ec32fb21c.png

收到1024个数据包,用时0.86秒,速率1515.15KB/s

收到1024个数据包,用时1.45秒,速率895.93KB/s

收到1017个数据包,用时5.16秒,速率250.02KB/s

收到1024个数据包,用时1.08秒,速率1208.18KB/s

收到1024个数据包,用时7.78秒,速率167.01KB/s

收到1023个数据包,用时1.01秒,速率1280.80KB/s

收到1024个数据包,用时6.40秒,速率203.25KB/s

收到1024个数据包,用时2.78秒,速率468.13KB/s

收到1024个数据包,用时1.37秒,速率947.52KB/s

收到1024个数据包,用时1.20秒,速率1082.43KB/s

190da2763e26b0638ecee8ce21863932.png

收到1024个数据包,用时1.28秒,速率1016.42KB/s

收到1024个数据包,用时1.06秒,速率1225.26KB/s

收到1024个数据包,用时2.11秒,速率617.28KB/s

收到1024个数据包,用时1.19秒,速率1096.12KB/s

收到1024个数据包,用时1.26秒,速率1029.30KB/s

收到1024个数据包,用时1.08秒,速率1208.18KB/s

收到1024个数据包,用时1.20秒,速率1082.43KB/s

收到1024个数据包,用时12.14秒,速率107.11KB/s

收到1024个数据包,用时1.26秒,速率1028.48KB/s

收到1024个数据包,用时10.17秒,速率127.81KB/s

三、提高TCP的传输速率

打开lwipopts.h,添加三行代码:

#define TCP_WND (10 * TCP_MSS)

#define TCP_SND_BUF (10 * TCP_MSS)

#define MEMP_NUM_TCP_SEG 50

26d8a06f74f8fb4fe18b8c4695ff9b87.png

打开wifi_test.c,将tcp_tester_buffer数组的长度改大,越大越好,把整个单片机的SRAM全部占满!

8013742e5c7b9fb3d1d4c8e912821b93.png

修改后的测速结果:

d614b9b430ee3fadf1c9d7fa5687ac33.png

收到748400字节,用时0.56秒,速率1302.78KB/s

收到760196字节,用时0.53秒,速率1398.08KB/s

收到760480字节,用时0.47秒,速率1586.87KB/s

收到755228字节,用时0.42秒,速率1751.85KB/s

收到764388字节,用时0.45秒,速率1651.49KB/s

收到749860字节,用时0.44秒,速率1675.71KB/s

收到760480字节,用时0.48秒,速率1537.59KB/s

收到755228字节,用时0.47秒,速率1575.91KB/s

收到753768字节,用时0.50秒,速率1475.15KB/s

收到747528字节,用时0.42秒,速率1729.88KB/s

dc12d4d2a7694f4f88e99ae5c39e419f.png

收到754640字节,用时1.08秒,速率684.90KB/s

收到752780字节,用时0.83秒,速率888.92KB/s

收到754240字节,用时1.29秒,速率568.77KB/s

收到751320字节,用时0.89秒,速率825.32KB/s

收到751320字节,用时1.31秒,速率559.66KB/s

收到753368字节,用时1.33秒,速率554.83KB/s

收到748988字节,用时1.00秒,速率732.90KB/s

收到751908字节,用时0.76秒,速率961.11KB/s

收到759208字节,用时1.25秒,速率594.08KB/s

收到751908字节,用时1.14秒,速率645.24KB/s

c40bb6e66abebb6f422f825dc014c9bb.png

收到751320字节,用时0.83秒,速率887.20KB/s

收到763000字节,用时1.14秒,速率654.19KB/s

收到752780字节,用时1.37秒,速率535.81KB/s

收到749860字节,用时0.48秒,速率1516.12KB/s

收到757748字节,用时0.45秒,速率1633.53KB/s

收到752780字节,用时0.64秒,速率1150.45KB/s

收到751908字节,用时1.14秒,速率644.68KB/s

收到753368字节,用时0.97秒,速率760.82KB/s

收到746940字节,用时1.04秒,速率698.02KB/s

收到739828字节,用时0.80秒,速率908.79KB/s

四、测速环境

WiFi模块和无线路由器的距离为1米左右。

4d12e709e5b318e17c67b76702fff50e.pngget-article-detail-224750.html

用的无线路由器是装宽带的时候送的。电脑和路由器之间是有线连接(黄色网线)。

fc82e5c24a3c97407553e982f08b3de6.pngget-article-detail-224750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值