你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32407 以太网一段时间后不能通讯

[复制链接]
z19820201 提问时间:2015-3-13 15:00 /
阅读主题, 点击返回1楼
收藏 评论24 发布时间:2015-3-13 15:00
24个回答
z19820201 回答时间:2015-3-16 10:39:28
本帖最后由 z19820201 于 2015-3-16 11:13 编辑
安 发表于 2015-3-14 11:08
如果死掉以后,重新初始化网络是否可以恢复?相关寄存器的状态是否可以发一下? ...

原因是发送描述符(TX_DESC)一直被DMA占用,如果手动把描述符改为CPU占用,则网络恢复正常。现在还没有找出DMA没有释放描述符的原因。
z19820201 回答时间:2015-3-17 10:27:05
会不会是因为我的UDP数据是放在TIM1中断里发送的,所以造成了这个问题?
回答时间:2015-3-17 15:22:58
楼主发生的数据是否发生了丢失呢?不建议在中断中进行数据传输。
z19820201 回答时间:2015-3-17 16:01:52
数据丢失暂时没有发现。现在已经把UDP发送从中断中移出来了。新问题又出现了,运行一段时间后要报ERR_MEM_ALLOC或者ERR_MEM_FREE错误。
z19820201 回答时间:2015-3-17 16:02:27
安 发表于 2015-3-17 15:22
楼主发生的数据是否发生了丢失呢?不建议在中断中进行数据传输。

数据丢失暂时没有发现。现在已经把UDP发送从中断中移出来了。新问题又出现了,运行一段时间后要报ERR_MEM_ALLOC或者ERR_MEM_FREE错误
回答时间:2015-3-17 16:55:24
楼主能说一下是哪个寄存器的吗?我这里查不到这几个标志位.
z19820201 回答时间:2015-3-18 08:36:22
安 发表于 2015-3-17 16:55
楼主能说一下是哪个寄存器的吗?我这里查不到这几个标志位.

不是寄存器,是Net_Config.c里面的net_sys_error函数。网上搜了下,说是keil的网络库只能在单任务中运行。今天准备再试下。
1.PNG
MouseCat 回答时间:2015-3-18 08:42:05
不懂,帮顶了
回答时间:2015-3-18 08:59:19
这里标注的说明,楼主看一下是否发生过类似的异常?
z19820201 回答时间:2015-3-18 09:23:55
安 发表于 2015-3-18 08:59
这里标注的说明,楼主看一下是否发生过类似的异常?

库是封装了的嘛,以我的水平看不到,只知道程序运行到这个代码里面了。缓冲区我已经扩大到12000了,至于释放失败我就搞不清楚是什么情况了。昨天的代码已经把发送程序从中断里面移出去了,但是发送缓冲区请求还在中断里面,网上有资料说这个网络库只可以单任务使用,所以今天把udp_get_buf也移出去了,看看还有啥异常出现。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版