在线时间146 小时
UID372360
ST金币235
蝴蝶豆34
注册时间2012-7-19
该用户从未签到
金牌会员
- 最后登录
- 2021-5-6
|
本帖最后由 xiaoshen-372360 于 2019-7-10 16:09 编辑
最近在做一个关于STM32F407的Modbus-TCP程序,STM32做服务器,IP固定,在做测试的时候发现了如下问题
测试时间超过2天到3天的时候会出现协议栈死掉的情况,Ping不通 也连不上。
测试环境说明:
我们是这样测试的,电脑通过交换机链接STM32,电脑端使用ModbusPULL测试,测试时间是500ms 收发一次数据,每次读取125个寄存器,每次STM32 返回258个字节,与此同时电脑端开5个Ping 窗口,同时Ping STM32,Ping的字节数为1450,测试两天后出现STM32无法通信,且无法ping通的现象,
查看寄存器后,发现在以太网的DMA寄存器出错了,DMASR寄存器数值变为:0x0066040A(正常运行的时候为:0x00660404)
查看手册后发现是jabber超时。
但是,虽然定位到问题,但是这个问题如何产生的呢?还是不清除,所以小弟请教一下大侠们,为啥会出现这个现象。出现这个问题应该怎么解决呢?
|
|