rtthread的SAL+W5500, 官方的代码,有时出现
WIZnet socket(0) send data failed(-13).
这个该怎么处理,每次一出现就是几十条发送失败,然后网络能自动恢复
查看更多
-13这是发送超时错误代码。你的网络另一端用的啥
是的,超时了,这是UDP通信,另一端是ESP8266的一些无线设备。但是有时总会出现超时,一会还能恢复,像这种超时的处理机制应该是什么,超时重传吗?
udp协议本身是不具备超时重发的,你只能在应用层重发了。
现在这个超时貌似影响比较大,而且现在看回应是数据发出去了,但是返回还是超时,莫非这底层不健壮吗,
udp是根本不管数据是否到达或者接收到了的,你要想让底层去负责重发这些得用tcp
udp是根本不管数据是否到达或者接收到了的,你要想让底层去负责重发这些得用tcp …
好奇的就是UDP其实确实不管是否到达,但是发完数据之后模块的状态信息里却是发送超时,实际上可能数据已经发出来了,也就是说模块本身的状态回复有问题。
能否提供一下测试代码和复现环境,我这边好处理一下这个问题
请问下 软件包里的WIZ包 针对5500 开机打印
[31m[E/wiz.dev] WIZnet SPI device spi20 not found![0m[31m[E/wiz.dev] WIZnet SPI device initialize failed.[0m[31m[E/wiz] RT-Thread WIZnet package (V2.0.0) initialize failed(-6).[0m
[31m[E/wiz.dev] WIZnet SPI device spi20 not found![0m
[31m[E/wiz.dev] WIZnet SPI device initialize failed.[0m
[31m[E/wiz] RT-Thread WIZnet package (V2.0.0) initialize failed(-6).[0m
这个应该是你 BSP 中只开启了 SPI BUS 总线设备支持,没有注册 spi20 设备,可以参考下面方式注册 spi 设备
__HAL_RCC_GPIOD_CLK_ENABLE();rt_hw_spi_device_attach("spi2", "spi20", GPIOB, GPIO_PIN_12);
__HAL_RCC_GPIOD_CLK_ENABLE();
rt_hw_spi_device_attach("spi2", "spi20", GPIOB, GPIO_PIN_12);
好奇的就是UDP其实确实不管是否到达,但是发完数据之后模块的状态信息里却是发送超时,实际上可能数据已 …
这是在那个BSP上直接开发 的,发整个的压缩包给你吧,有些东西动的比较多。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部