sxf_zero
sxf_zero
This guy hasn't written anything yet

注册于 10 years ago

回答
0
文章
0
关注者
0

能不能一次从消息队列中读取多条消息,每次读取一条效率不高啊

tcpserver 允许多个连接,每一次轮训所有的连接,接收数据,然后处理。所以应该用MSG_DONTWAIT吧
我是按着 那个开源的以太网转串口的项目在修改的,

找到原因了
多调用了这个,
tcpip_init(RT_NULL, RT_NULL);
现在应该没问题了,正在跑,看跑段时间会不会挂掉

手动调用 lwip_sys_init(); 怎么理解??
另外也没有调用rt_components_init();

大包ping 不通到不是什么大问题,主要是包ping包太大之后,板子的网络就不响应了,

dm9000 和 107有这样的问题吗?用一个超级大的包ping下,比如说 65500 字节,板子网络就挂了

dm9000 或107 的板子有这样的问题吗最大能响应的ping包是多大呢?

自己还在找原因,希望版主帮忙看看
我觉得似乎是enc28j60驱动的问题,

enc28j60.h


enc28j60.h
312行: #define MAX_FRAMELEN 1518

默认是1518,这时最大能响应的ping包长度是 1518-47 =1471

我试着修改为


enc28j60.h
312行: #define MAX_FRAMELEN 1000

这时最大能响应的ping包长度是 1000-47 =953

在尝试改的大一些,以为能响应更大ping包,改为

enc28j60.h
312行: #define MAX_FRAMELEN 2000


希望大家帮助解找找问题,另外希望大家说说自己的板子存不存在这样的问题。0.3.1 和0.3.3版本我都试过了,问题都存在,

默认长度能 ping 通
ping -l 1000 6ms-7ms
ping -l 1500 就一直超时,之后在 ping 小点的包也超时不通,只修改了代码中相关的引脚,其他完全没有改,不知道是哪里的原因

估计是板子的问题,这块板子一直都没有调通,
后来自己买了块103vb核心版 和 一个enc28j60的模块,原来的代码,还是按同样的引脚链接,网络ping通了

但是存在下面的问题
默认长度能 ping 通
ping -l 1000 6ms-7ms
ping -l 1500 就一直超时,之后在 ping 小点的包也超时不通,只修改了代码中相关的引脚,其他完全没有改,不知道是哪里的原因]

\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build May 12 2011
2006 - 2010 Copyright by rt-thread team
TCP/IP initialized!

串口能出现接受到这个,网络指示灯都不亮,电脑也显示没有连接

回到
顶部

发布
问题