问题的原因是当前开启了LWIP_SO_SNDTIMEO,即发送超时的功能,并且设置了send_timeout不为0。这导致了使用netconn_write时发送失败并返回错误码-6(Illegal value)。
解决办法有两种:
1. 将send_timeout设为0。这样可以解决发送失败的问题,但可能会引发其他问题,需要根据具体情况来判断是否可行。
2. 修改Middlewares/Third_Party/LwIP/src/api/api_lib.c中的netconn_write_partly函数。找到#if LWIP_SO_SNDTIMEO的条件判断,并将其注释掉。这样可以绕过发送超时功能,解决发送失败的问题。
需要注意的是,修改LwIP源代码可能会影响到其他部分的功能,因此在修改之前应该先进行测试,确保修改不会引发其他问题。
问题的原因是当前开启了LWIP_SO_SNDTIMEO,即发送超时的功能,并且设置了send_timeout不为0。这导致了使用netconn_write时发送失败并返回错误码-6(Illegal value)。
解决办法有两种:
1. 将send_timeout设为0。这样可以解决发送失败的问题,但可能会引发其他问题,需要根据具体情况来判断是否可行。
2. 修改Middlewares/Third_Party/LwIP/src/api/api_lib.c中的netconn_write_partly函数。找到#if LWIP_SO_SNDTIMEO的条件判断,并将其注释掉。这样可以绕过发送超时功能,解决发送失败的问题。
需要注意的是,修改LwIP源代码可能会影响到其他部分的功能,因此在修改之前应该先进行测试,确保修改不会引发其他问题。
举报