OpenEdv-开源电子网

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

原子lwip例程,发送大数量数据出现问题

[复制链接]

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-4-2
在线时间
4 小时
发表于 2015-8-28 12:01:00 | 显示全部楼层 |阅读模式
5金钱
利用原子哥的lwip例程,我用的stm32f407作为服务端,当有客户端连接时,就发送大数量的AD采样数据给客户端,发现老是丢失数据,后来我发现原来原子哥的lwip例程的发送数据是放在tcp_server_poll()轮询函数里,也就是说,每次要等待500ms查询后才发送,所以我想用tcp_server_sent(void *arg, struct tcp_pcb *tpcb, u16_t len)这个函数直接发送,可是又不知道这个函数的里void *arg, struct tcp_pcb *tpcb这个两个形参到底该填什么?求助!

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

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-8-28 12:31:44 | 显示全部楼层
我们提供的例程适合小数据量发送,大数据量发送的话就需要你在我们提供的例程上修改,比如你把tcp_server_poll中的发送函数提取出来放到其他地方发送。
开往春天的手扶拖拉机
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-4-2
在线时间
4 小时
 楼主| 发表于 2015-8-28 12:36:55 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
是想把tcp_server_poll里面的函数提取出来发送,那就需要tcp_server_sent(void *arg, struct tcp_pcb *tpcb, u16_t len)这个函数,这个函数形参void *arg, struct tcp_pcb *tpcb和tcp_server_poll是一样的,而tcp_server_poll()是由内核自己调用,形参不必自己写。可tcp_server_sent里面的形参需要自己写,不知道到底该填写什么?
回复

使用道具 举报

5

主题

62

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2016-3-9
在线时间
74 小时
发表于 2016-8-13 23:14:40 | 显示全部楼层
maaaark
回复

使用道具 举报

30

主题

158

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1525
金钱
1525
注册时间
2015-11-11
在线时间
163 小时
发表于 2016-8-15 14:39:32 | 显示全部楼层
mark,楼主好好解决这个问题,到时候分享下
好好学习
回复

使用道具 举报

19

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1341
金钱
1341
注册时间
2016-4-22
在线时间
187 小时
发表于 2016-8-15 17:33:53 | 显示全部楼层
搞错了吧。tcp_poll应该是发送失败,定时器调用触发吧。而正常一个大数据包,没有发送完,后续部分tcp_sent就会马上触发回调函数继续发送。你肯定是哪里没写好。我的服务器一次发多种数据大的数据包15k,基本都没见过poll触发,收发都很好。
伤情最是晚凉天,憔悴斯人不堪怜。
邀酒摧肠三杯醉,寻香惊梦五更寒。
钗头凤斜卿有泪,荼蘼花了我无缘。
小楼寂寞新雨月,也难如钩也难圆。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-8-19
在线时间
2 小时
发表于 2016-8-25 11:44:06 | 显示全部楼层
你试试将硬件帧校验关了,我也遇到这个问题,不过用软校验就行了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 21:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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