打印
[STM32F4]

stm32F429 lwip tcp客户端,使用cubmx生成的代码,接收数据报错,报错几次就会彻底不能收发数据了

[复制链接]
834|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2024-7-1 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主控芯片为SMT32F429,使用RMII,外面接LAN8742,无系统(裸系统)。

直接使用CubeMx生成代码,堆栈设置都是0x800。其它代码很少。ping和发送都没有问题,但是每次接收数据时会报错:

Assertion "pbuf_free: p->ref > 0" failed at line 753 in ../Middlewares/Third_Party/LwIP/src/core/pbuf.c

频繁接收数据之后,发送会报错ERR_MEM(-1),后面就再也不能正常收发数据了。请问这是什么原因导致的?或者如何能避免啊?

使用特权

评论回复
沙发
elephant00| | 2024-7-4 14:43 | 只看该作者
检查lwIP堆栈配置是否符合项目需求

使用特权

评论回复
板凳
两只袜子| | 2024-7-4 19:42 | 只看该作者
使用lwIP提供的调试功能(如设置LWIP_DEBUG)来跟踪TCP连接的状态和错误。检查是否有TCP连接被异常关闭或重置,以及是否有未处理的错误导致连接状态不正确。

使用特权

评论回复
地板
jcky001| | 2024-7-4 20:23 | 只看该作者
检查网络驱动和中断处理是否有误

使用特权

评论回复
5
cr315| | 2024-7-4 22:00 | 只看该作者
在接收数据时,检查lwIP的返回值,特别是错误代码。对于任何错误,都应该有相应的错误处理逻辑,比如重试接收、关闭连接或重置TCP状态。
检查是否有内存泄漏或溢出的问题,这可能会导致系统资源耗尽,进而影响网络通信。

使用特权

评论回复
6
hehhehee| | 2024-7-26 14:55 | 只看该作者
pbuf_free 断言失败表明 pbuf 的引用计数有问题。检查代码中是否有重复释放或不正确管理 pbuf 的情况。

使用特权

评论回复
7
610u| | 2024-7-30 23:40 | 只看该作者
检查是否有TCP连接被异常关闭或重置

使用特权

评论回复
8
jzzllv| | 2024-8-31 12:56 | 只看该作者
这是什么原因

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1213

主题

5348

帖子

12

粉丝