rtthread+w5500, 官方的代码,WIZnet socket(0) send data failed(-13).

发布于 2019-07-15 12:10:15    浏览:2400
rtthread的SAL+W5500, 官方的代码,有时出现 WIZnet socket(0) send data failed(-13).这个该怎么处理,每次一出现就是几十条发送失败,然后网络能自动恢复

查看更多

10 个回答
zhangjun
zhangjun 2019-07-15
This guy hasn't written anything yet
-13这是发送超时错误代码。你的网络另一端用的啥
songjie_he
songjie_he 2019-07-15
This guy hasn't written anything yet
zhangjun 发表于 2019-7-15 18:12
-13这是发送超时错误代码。你的网络另一端用的啥


是的,超时了,这是UDP通信,另一端是ESP8266的一些无线设备。但是有时总会出现超时,一会还能恢复,像这种超时的处理机制应该是什么,超时重传吗?
zhangjun
zhangjun 2019-07-15
This guy hasn't written anything yet
udp协议本身是不具备超时重发的,你只能在应用层重发了。
songjie_he
songjie_he 2019-07-16
This guy hasn't written anything yet
zhangjun 发表于 2019-7-15 18:25
udp协议本身是不具备超时重发的,你只能在应用层重发了。


现在这个超时貌似影响比较大,而且现在看回应是数据发出去了,但是返回还是超时,莫非这底层不健壮吗,
zhangjun
zhangjun 2019-07-16
This guy hasn't written anything yet
udp是根本不管数据是否到达或者接收到了的,你要想让底层去负责重发这些得用tcp
songjie_he
songjie_he 2019-07-16
This guy hasn't written anything yet
zhangjun 发表于 2019-7-16 12:58
udp是根本不管数据是否到达或者接收到了的,你要想让底层去负责重发这些得用tcp ...


好奇的就是UDP其实确实不管是否到达,但是发完数据之后模块的状态信息里却是发送超时,实际上可能数据已经发出来了,也就是说模块本身的状态回复有问题。
Cheney_Chen
Cheney_Chen 2019-08-26
This guy hasn't written anything yet
能否提供一下测试代码和复现环境,我这边好处理一下这个问题
jamguo
jamguo 2019-08-27
This guy hasn't written anything yet
Cheney_Chen 发表于 2019-8-26 11:27
能否提供一下测试代码和复现环境,我这边好处理一下这个问题


请问下 软件包里的WIZ包 针对5500 开机打印

[E/wiz.dev] WIZnet SPI device spi20 not found!
[E/wiz.dev] WIZnet SPI device initialize failed.
[E/wiz] RT-Thread WIZnet package (V2.0.0) initialize failed(-6).
Cheney_Chen
Cheney_Chen 2019-08-27
This guy hasn't written anything yet

这个应该是你 BSP 中只开启了 SPI BUS 总线设备支持,没有注册 spi20 设备,可以参考下面方式注册 spi 设备

c<br/>__HAL_RCC_GPIOD_CLK_ENABLE();<br/>rt_hw_spi_device_attach("spi2", "spi20", GPIOB, GPIO_PIN_12);<br/>

songjie_he
songjie_he 2019-10-28
This guy hasn't written anything yet
songjie_he 发表于 2019-7-16 16:19
好奇的就是UDP其实确实不管是否到达,但是发完数据之后模块的状态信息里却是发送超时,实际上可能数据已 ...


这是在那个BSP上直接开发 的,发整个的压缩包给你吧,有些东西动的比较多。

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
2.4k

发布
问题

分享
好友

手机
浏览

扫码手机浏览