OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1329|回复: 1

使用GD32进行以太网通信时出现了类似于网络假死的现象,求解答

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2023-3-28
在线时间
11 小时
发表于 2023-10-8 10:33:35 | 显示全部楼层 |阅读模式
20金钱
如题,使用GD32F450+SMSC8720A+LWIP1.4.1+FREERTOS作为下位机使用以太网和PC通信,其中TCP服务器模块出现问题。
出问题的模块想实现的功能:PC作为TCP客户端循环向单片机发送请求,单片机处理数据,将数据处理结果发给PC。

现象:
1、通信开始时正常,但几次之后单片机就无法返回数据,单片机仍然能ping通,其余模块也功能正常,包括UDP\MODBUSTCP等;
2、PC重新建立TCP连接之后即可接收剩余数据,但同样正常运行几次之后单片机就又没有返回数据了;
3、通过网络抓包发现,本来接收窗口大小设置的是12000,但是每次都在窗口大小变为10000左右的时候出现了单片机无法返回数据的情况;
4、通过调试发现,TCP连接未断开,但是recv函数返回值始终为-1(我用的是socket),也就是连接未断开但单片机接收不到数据;
5、代码在其余开发板上都已经运行正常,但是就只在这块板子上出现了问题;
6、使用lwip2.1.2写了一版程序进行测试,但是同样出现了这个情况。

猜测:
1、可能和接收窗口有关,但根据出现类似问题的网友描述好像不太符合;
2、可能是网络假死,但不知道如何排查;

3、怀疑是接收超时相关配置没做好,但打开了相关宏之后仍然出现问题;
4、硬件问题,但是目前没有手段进行排查。

由于项目原因无法发代码,麻烦大佬们帮看一看是什么原因!

最佳答案

查看完整内容[请看2#楼]

破案了,就是硬件的问题,最后直接换板子了,具体是硬件哪里的问题还没查出来
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2023-3-28
在线时间
11 小时
 楼主| 发表于 2023-10-8 10:33:36 | 显示全部楼层
破案了,就是硬件的问题,最后直接换板子了,具体是硬件哪里的问题还没查出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 14:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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