极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16147|回复: 13

关于W5100+SD的冲突及解决

[复制链接]
发表于 2012-3-27 00:03:54 | 显示全部楼层 |阅读模式
上手W5100时,购买的是一款带SD卡槽的以太网扩展板,刚开始测试,webserver运行正常,但是很不稳定,需要反复拔卡、上电。当时怀疑了几个地方:
一是USB供电电压不稳定,所以使用了外接9V电池,问题依然如故,不稳定,piing得通,但是访问时,更新了几次网页,就报“网址找不到”或者“服务超时”。
二是怀疑UNO的小体格,资源不够,就进了一块2560,结果,好了一点,可是问题依然没有解决。

在HEAVEN的建议下,开始查看一些资料,才知道原来方向错误,是板卡上的SD卡与W5100芯片的冲突。
拔掉SD卡,一切正常,问题不能这么干啊,我们买的就是带SD卡槽的啊,于是
查看了一篇文章,来自于http://www.ladyada.net/learn/arduino/ethfiles.html,讲得很清楚。

是这么说的:


First thing to note is that the SS (Slave Select) pin for the card is digital 4 (although as of the writing of this mini-tutorial, the schematic hasn't been updated, you'll have to trust me!)

Open up the SdFatInfo example sketch and change the line in loop() from
  uint8_t r = card.init(SPI_HALF_SPEED);
To:
  pinMode(10, OUTPUT);                       // set the SS pin as an output (necessary!)//将SS针设置为输出。
  digitalWrite(10, HIGH);                    // but turn off the W5100 chip! //关闭W5100芯片
  uint8_t r = card.init(SPI_HALF_SPEED, 4);  // Use digital 4 as the SD SS line //使用数字4作为SD卡得SS线

Be sure to add those two extra lines right before-hand! They Enable the SPI interface. If you're on a Mega, use pin 53 instead of 10//如果是MEGA,记得使用53针取代10针。


解决好SS冲突后,一切正常,这篇文章给出了使用SD与W5100配合做一个简单的显示CSV文件的webserver,希望对你有帮助。

Arduino Ethernet SD.rar (148.84 KB, 下载次数: 785)

评分

参与人数 1 +3 收起 理由
黑马 + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-8-8 01:04:49 | 显示全部楼层

楼主,沧海您好,我的W5100也遇到问题了,我没插SD卡,但是server is at 0.0.0.0,ping 都不通。
MEGA2560,用官方的例子就不过。

能看看你的例子不?
W5100应该是好的,我用Duemilanove编译官方的例子是好的,不过不是很稳定,估计ATMEGA168-20PU体质问题,编译官方WEBServer以后,程序空间只剩下百来个字节了,基本什么事情都不能干。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-8 09:21:32 | 显示全部楼层
本帖最后由 沧海笑1122 于 2012-8-8 09:27 编辑
/;@_爱画画的牛 发表于 2012-8-8 01:04
楼主,沧海您好,我的W5100也遇到问题了,我没插SD卡,但是server is at 0.0.0.0,ping 都不通。
MEGA25 ...


你好,我也用的是官方实例,2560试过没有发现问题。ss pIN 在Mega上有别于UNO,可是你没有插SD卡啊。再试试吧吗,我也是经历了一番折腾,你可以请教一下坛子里的“中奎”兄,他对此很熟悉。
回复 支持 反对

使用道具 举报

发表于 2012-8-8 10:57:55 | 显示全部楼层
谢谢你呢,在UNO上也是超级不稳定,可以ping通webserver访问不了,20次启动估计能有1次能访问webserver,难道我这块板子只能给Duemilanove用?残疾呀。我一直都是没插SD卡的。
回复 支持 反对

使用道具 举报

发表于 2012-8-8 11:54:06 | 显示全部楼层
看情况可能是老板子,新板子都把ss给分开了。

区别方法,老板子的sd卡是标准SD卡插槽,新的都是TF卡了
回复 支持 反对

使用道具 举报

发表于 2012-8-8 11:54:14 | 显示全部楼层
/;@_爱画画的牛 发表于 2012-8-8 10:57
谢谢你呢,在UNO上也是超级不稳定,可以ping通webserver访问不了,20次启动估计能有1次能访问webserver,难 ...


试的重新刷bootloader~~~uno的bootloader有一个版本有BUG,运行网络扩展板会挂掉。。。。你重刷1.0.1下的bootloader就好。
回复 支持 反对

使用道具 举报

发表于 2012-8-8 17:12:58 | 显示全部楼层
弘毅老大,谢谢关注呀,我没有下载器,但是我有3块arduino主板,我看你的文章好像arduino可以用作下载器的,怎么连线来着?

Jerry,我那个板子是TF小卡的。
回复 支持 反对

使用道具 举报

发表于 2012-11-28 11:54:53 | 显示全部楼层
留爪,以后用。暂时还米有用sd卡,我的ethernet倒是蛮稳定的~~~
回复 支持 反对

使用道具 举报

发表于 2013-8-27 18:42:18 | 显示全部楼层
同样的问题 啊,楼主,但是我    pinMode(10, OUTPUT);
  digitalWrite(10, HIGH);了还是不行啊!IP获取错误啊!!我设置是192.168.1.8,他说is at 255.xxx.255.255,为啥啊!!
回复 支持 反对

使用道具 举报

发表于 2013-8-27 18:57:27 | 显示全部楼层
现在是SD完全正常,网络提示server is at 255.255.255.255,楼主上面说的那个关闭W5100的又是什么意思啊~
回复 支持 反对

使用道具 举报

发表于 2013-8-27 22:53:10 | 显示全部楼层
学习了,感谢楼主!!
回复 支持 反对

使用道具 举报

发表于 2013-9-7 15:56:49 | 显示全部楼层
我想通过pc网口给w5100 送数据 这个要怎么实现?我看到的webserver库只是把数据从5100送到pc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-9 09:56:22 | 显示全部楼层
本帖最后由 沧海笑1122 于 2013-9-9 10:00 编辑
em8622 发表于 2013-9-7 15:56
我想通过pc网口给w5100 送数据 这个要怎么实现?我看到的webserver库只是把数据从5100送到pc


5100送到pc,是将arduino+5100当作一个数据采集的hub。这是个定位问题,反过来传送我的确没有研究过。如果你希望把arduino+5100当成一个接收网络指令的执行元件,可以考虑usb串口(因为PC的网络能力是轻而易举的,与arduino不一定用5100这么复杂),用json格式,arduino提供解析库,非常便利,这个我试过,坛子里有帖子你可以参考一下。
回复 支持 反对

使用道具 举报

发表于 2014-6-22 15:13:39 | 显示全部楼层
学习学习                                      
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-6-26 22:11 , Processed in 0.051473 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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