关于ENC28J60发送数据的问题

小弟最近在做一个项目,用STC单片机+ENC28J60网络芯片进行与PC的通信,采用uIP协议栈,现在通过串口助手发数据,然后网络调试助手可以收到数据,同样用网络调试助手... 小弟最近在做一个项目,用STC单片机+ENC28J60网络芯片进行与PC的通信,采用uIP协议栈,现在通过串口助手发数据,然后网络调试助手可以收到数据,同样用网络调试助手发数据,串口助手也可以收到数据,但是有一个问题就是假如用串口调试助手不断地发送数据,发到42K字节后单片机会卡死,需要重启后才可以继续发送,同样网络调试助手给单片机发数据,发送大约6K的字节也就会卡死,也同样需要重启才可以继续传输,现在我找不出来问题所在了,脑袋有点大了,希望做过这个东西的你们可以提一些建议,本人不甚感激 展开
 我来答
有志气的豚鹿
2013-07-24 · TA获得超过451个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:560万
展开全部
1. 首先ENC28J60内的缓冲是有限的,总共8KB左右的缓冲,如果数据传输过快,可能会造成ENC28J60缓冲错误,如果你的代码里没有对ENC28J60发生错误的情况进行处理,很可能造成ENC28J60无法从错误中恢复,造成ENC28J60死掉,从而网口无法收发数据。

2. 我认为,UIP结构性较差,如果移植不好的话很容易造成问题,所以也可能是51死掉了

3. 所以我觉得你应该先确认是哪里导致的错误发生,是51死掉了,还是ENC28J60挂掉了,这个应该很简单,可以让STC控制串口定时向外发字符或控制IO口输出方波证明51的死活。如果51死了,就找UIP和单片机程序的问题,如果是ENC28J60的问题,那就啃一下datasheet吧。
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式