我使用了Sparkfun的Arduino Ethernet Pro主板和MP3播放器屏蔽(http://www.sparkfun.com/products/10536和http://www.sparkfun.com/products/10628)
我尝试使用Sparkfun提供的示例,但我一直在运行相同的错误,我已经确定了初始化SD卡(我使用SdFat)。
为了确定核心问题我尝试运行" SdInfo"来自SdFat库的示例。这是我的输出:
SdFat版本:20111205
输入任何要开始的字符
card.init失败
SD errorCode:0X1
SD errorData:0X0
如果我根据Sparkfun指令(http://www.sparkfun.com/tutorials/295)在Sd2PinMap.h中将SS_PIN从9更改为10,那么sdcard.init(...)方法就会挂起。
我认为这个问题是因为W5100以太网芯片与MP3播放器屏蔽之间存在冲突。
是否有任何我不知道的冲突端口?或者我需要禁用W5100芯片吗?
答案 0 :(得分:0)
您使用的SD卡大小是多少? (尝试使用兼容性<4GB的SD卡) 根据Sparkfun发布的示意图,您无需将其更改为引脚10。 另外看看sparkfun页面你试过这个吗? madsci's Library 并在声明card.init中尝试此init命令(SPI_FULL_SPEED,9) ..让我知道这对你有什么用 -Ralim
答案 1 :(得分:0)
您与所使用的所有SPI设备存在芯片选择冲突。 SparkFun上用于MP3屏蔽的“快速入门”指南讨论了如何更改SD库以使用MP3屏蔽。您需要进行类似的更改,以便您可以使用另一个带有MP3屏蔽的CS引脚,并为SD卡和W5100留下9和10。
使用多个SPI器件时,最好列出CS引脚。当您添加新的SPI设备时,与MP3屏蔽一样,您将能够看到哪些引脚已经在做什么。