Closed zhigangbox closed 4 years ago
不敢联系你哈,自己的项目都做不完,实在没多的精力。 另外也没用过libmodbus和W5500。
说下如果我遇到这样的问题,该怎么查哈。
.再也无法连接上了
- 谁连接谁?
- W5500是以太网,那此时以太网上面的数据包是怎样的?
- 如果是PC连接过来,那PC上面直接Wireshark抓就行了
- 如果是其它设备连接过来,可能要串个抓包交换机
- W5500是内置协议栈,那有新连接又连接不上时,此时dump出所有寄存器逐个位分析。结合数据手册。
- 百度了下,W5500和MCU是SPI通讯吧?那SPI给接上逻辑分析仪,还有中断脚。
- 比如连接时看看INT引脚和SPI上面有没通讯? 数据是什么?这又代表什么?
以上仅是举个例子,相信楼主做好了这些分析,能得到不少的收获,或是发问题时,列了这些数据和分析,也能引起别人的共鸣。别人来回你的贴子帮你分析,也是希望能共同学习。而不是帮你把项目给做了。
一段时间,是多久的时间?
winzet 的软件包已经实现了 DHCP 功能,路由器一般会对连接时间有限制。不知道这个连接一段时间就会断开,这段时间是多久?
w5500 是硬件协议栈,对可以连接的 socket 数量有限制。连接不上的情况,具体是出现在 socket 建立阶段,还是连接阶段?返回的错误连接,追踪到 w5500 返回的错误,以便加以解决。
Sal 层是对 socket 加以抽象,方便进行lwIP 协议栈、AT Socket 协议栈、WIZnet 硬件 TCP/IP 协议栈三者之间的切换,这里问题倒是不大。
主要是考虑,过一段时间,是什么时间?winzet 使用时,用得是静态 IP 还是 DHCP 的方式?
WINET用的是静态IP,网页客户端以短连接形式每分钟采集一次,最大客户端熟练设置为2,超时10s,客户端存活时间timeval是1s,,这样大概10多分钟后串口日志报DFS fd new is failed! Could not found an empty fd entry的错误。后面就连不上了 。 所以对这个问题很是苦恼,真不知道该咋办了
1 RTT的SAL说明里面“目前 SAL 组件支持的协议栈或网络实现类型有:lwIP 协议栈、AT Socket 协议栈、WIZnet 硬件 TCP/IP 协议栈。”,但是关于怎么具体对接没有说明。 2 经过自己一些痛苦摸索,程序可以进行mdobusTCP采集,但过一段时间就出现无法再连接上。各种方法都试了还不行,和libmodbus作者也沟通了,人家说人家的系统已经跑了几个月了没任何问题。 3 那么这块究竟是什么问题?希望wiznet软件包作者看到能沟通一下,不然这个项目真要黄了,项目进入小批,发现这个大一个bug,真不知道该咋弄了,看到请联系我,谢谢18100336192或2730122869