发 帖  
原厂入驻New
张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器,👉戳此立抢👈
[问答] STM32F107 LWIP网络假死,但单片机的程序还在跑
1149 LWIP STM32 单片机
分享
       大家好,我最近在用STM32F107的以太网接口,外接DM9161AEP PHY,LWIP (1.00版本)。仅使用UDP通信,程序运行了一段时间后,出现网络假死的情况。出错时间随机,长则几天,短则几分钟。    重现方法:用其他设备一直给该设备发送数据IP、端口发送数据,结果很快就出现网络假死的情况,但是单片机的程序还在跑,其他功能正常。
    网络假死后只能通过断点重启单片机才能恢复。在网络假死的情况下,(设备定向给PC发数据)用Wireshark工具抓包,PC能收单片机发来的ARP请求。但是单片机收不到任何数据。没有跑系统,单片机裸跑,用查询方式接收数据,网络假死后查询ETH_GetRxPktSize()函数一直返回0。
    每一个pbuf_alloc失败都会打印信息,但是在网络死机时并没有发现pbuf_alloc失败的信息。通过串口打印调试信息,正常的时候low_level_input 和low_level_output都有数据;异常时low_level_input没有数据,low_level_output还在发ARP请求数据。通过LWIP_DEBUG,一直有“etharp_timer”和“tcp_slowtmr: no active PCBs”信息输出。

    参考了网友“老衲五木”的博客文章,修改了几天代码也没有解决。望各位大神指点迷津,谢谢!
0
2019-1-11 09:31:36   评论 分享淘帖 邀请回答
6个回答
2019-1-11 09:45:02 评论

举报

帮顶,实在没招找下ST的FAE帮下忙呗!
2019-1-11 10:03:32 评论

举报

亲爱的娜娜 发表于 2019-1-11 14:14
帮顶,实在没招找下ST的FAE帮下忙呗!

谢谢
2019-1-11 10:08:37 评论

举报

2019-1-11 10:24:54 评论

举报

2019-1-11 10:31:54 评论

举报

这种情况感觉是在中断里出了问题,是否中断嵌套太多?
2019-3-16 16:45:49 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /10 下一条

    快速回复 返回顶部 返回列表