1

我正在使用 Sparkfun 的 Arduino Ethernet Pro 板和 MP3 播放器扩展板(http://www.sparkfun.com/products/10536 和http://www.sparkfun.com/products/10628

我尝试使用 Sparkfun 提供的示例,但我一直遇到相同的错误,我已经确定初始化 SD 卡(我使用的是 SdFat)。

为了确定核心问题,我尝试从 SdFat 库运行“SdInfo”示例。这是我的输出:

SdFat 版本:20111205

输入任何字符开始

card.init 失败

SD错误代码:0X1

SD错误数据:0X0

如果我按照 Sparkfun 说明(http://www.sparkfun.com/tutorials/295)将 Sd2PinMap.h 中的 SS_PIN 从 9 更改为 10,则 sdcard.init(...) 方法将挂起。

我认为这个问题是因为 W5100 以太网芯片和 MP3 播放器屏蔽之间的冲突。

有没有我不知道的冲突端口?还是我需要禁用 W5100 芯片?

4

2 回答 2

0

您使用的所有 SPI 设备都存在片选冲突。MP3 屏蔽的 SparkFun 上的“快速入门”指南讨论了如何更改 SD 库以使用 MP3 屏蔽。您需要进行类似的更改,以便您可以将另一个 CS 引脚用于 MP3 屏蔽,并将 9 和 10 留给 SD 卡和 W5100。

使用多个 SPI 设备时,最好列出 CS 引脚。当您添加一个新的 SPI 设备时,与 MP3 屏蔽一样,您将能够看到哪些引脚已经在做什么。

于 2012-04-15T10:48:33.020 回答
0

您使用的是什么尺寸的 SD 卡?(尝试使用小于 4GB 的 SD 卡以实现兼容性)您不需要根据 Sparkfun 发布的示意图将其更改为引脚 10。还看看 sparkfun 页面,你试过这个吗?madsci 的库 ,并在声明 card.init(SPI_FULL_SPEED, 9) 中尝试这个 init 命令 .. 让我知道它是如何为你工作的 -Ralim

于 2012-04-14T13:11:00.950 回答