OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3266|回复: 1

求助坛友,关于LWIP TCP接入多个客户端

[复制链接]

24

主题

72

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-13
在线时间
45 小时
发表于 2019-8-15 16:45:29 | 显示全部楼层 |阅读模式
10金钱
       最近在做一个基于单片机STM32F407+以太网芯片DP83848K的网口传输,参考原子哥的例程,用UCOSIII和LWIP实现了单片机作为TCP服务端,并实现了可以接入多个客户端。
       目前是接入了3个客户端,单片机会分别往3个不同的客户端上传输不同类型的数据,上传的速率分别是1024B/100ms、128B/100ms、256B/100ms,当我只接入单个客户端的时候,单个的都不会丢包,但是当我接入2个或者3个的时候,就会出现丢包,我想请问下各位坛友这和LWIP相关配置有关系吗?
       另外我上传的3种类型的数据都是从另一个单片机2传输过来的,两个单片机之间是通过FIFO芯片进行传输,程序建立了一个读取FIFO存储内容的任务;当接入单个客户端时,单片机2调试信息发送了1000次,则FIFO任务调试信息也是读取了1000次,但是接入多个客户端的时候,单片机2调试信息发送了1000次,而FIFO任务调试信息只读取了950次左右,这会是客户端传输的任务占用CPU时间太长,导致FIFO读取的任务执行少了吗。我客户端传输任务是每当传输完就挂起,当FIFO读取到对应数据时再回复。
以下是我lwipopts.h的相关设置
#define SYS_LIGHTWEIGHT_PROT    1               
#define NO_SYS                  0                 
#define MEM_ALIGNMENT           4                 
#define MEM_SIZE                1024*25        
#define MEMP_NUM_PBUF           128                
#define MEMP_NUM_UDP_PCB        6               
#define MEMP_NUM_TCP_PCB        10               
#define MEMP_NUM_TCP_PCB_LISTEN 6               
#define MEMP_NUM_TCP_SEG        256               
#define MEMP_NUM_SYS_TIMEOUT    16               

#define PBUF_POOL_SIZE          16               
#define PBUF_POOL_BUFSIZE       2048       



求助各位坛友!!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-8-17 02:14:52 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 15:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表