关于W5100+SD的冲突及解决
上手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,希望对你有帮助。
楼主,沧海您好,我的W5100也遇到问题了,我没插SD卡,但是server is at 0.0.0.0,ping 都不通。
MEGA2560,用官方的例子就不过。
能看看你的例子不?
W5100应该是好的,我用Duemilanove编译官方的例子是好的,不过不是很稳定,估计ATMEGA168-20PU体质问题,编译官方WEBServer以后,程序空间只剩下百来个字节了,基本什么事情都不能干。
本帖最后由 沧海笑1122 于 2012-8-8 09:27 编辑
/;@_爱画画的牛 发表于 2012-8-8 01:04 static/image/common/back.gif
楼主,沧海您好,我的W5100也遇到问题了,我没插SD卡,但是server is at 0.0.0.0,ping 都不通。
MEGA25 ...
你好,我也用的是官方实例,2560试过没有发现问题。ss pIN 在Mega上有别于UNO,可是你没有插SD卡啊。再试试吧吗,我也是经历了一番折腾,你可以请教一下坛子里的“中奎”兄,他对此很熟悉。 谢谢你呢,在UNO上也是超级不稳定,可以ping通webserver访问不了,20次启动估计能有1次能访问webserver,难道我这块板子只能给Duemilanove用?残疾呀。我一直都是没插SD卡的。
看情况可能是老板子,新板子都把ss给分开了。
区别方法,老板子的sd卡是标准SD卡插槽,新的都是TF卡了 /;@_爱画画的牛 发表于 2012-8-8 10:57 static/image/common/back.gif
谢谢你呢,在UNO上也是超级不稳定,可以ping通webserver访问不了,20次启动估计能有1次能访问webserver,难 ...
试的重新刷bootloader~~~uno的bootloader有一个版本有BUG,运行网络扩展板会挂掉。。。。你重刷1.0.1下的bootloader就好。 弘毅老大,谢谢关注呀,我没有下载器,但是我有3块arduino主板,我看你的文章好像arduino可以用作下载器的,怎么连线来着?
Jerry,我那个板子是TF小卡的。 留爪,以后用:lol。暂时还米有用sd卡,我的ethernet倒是蛮稳定的~~~ 同样的问题 啊,楼主,但是我 pinMode(10, OUTPUT);
digitalWrite(10, HIGH);了还是不行啊!IP获取错误啊!!我设置是192.168.1.8,他说is at 255.xxx.255.255,为啥啊!! 现在是SD完全正常,网络提示server is at 255.255.255.255,楼主上面说的那个关闭W5100的又是什么意思啊~ 学习了,感谢楼主!! 我想通过pc网口给w5100 送数据 这个要怎么实现?我看到的webserver库只是把数据从5100送到pc 本帖最后由 沧海笑1122 于 2013-9-9 10:00 编辑
em8622 发表于 2013-9-7 15:56 static/image/common/back.gif
我想通过pc网口给w5100 送数据 这个要怎么实现?我看到的webserver库只是把数据从5100送到pc
5100送到pc,是将arduino+5100当作一个数据采集的hub。这是个定位问题,反过来传送我的确没有研究过。如果你希望把arduino+5100当成一个接收网络指令的执行元件,可以考虑usb串口(因为PC的网络能力是轻而易举的,与arduino不一定用5100这么复杂),用json格式,arduino提供解析库,非常便利,这个我试过,坛子里有帖子你可以参考一下。 学习学习:)
页:
[1]