2012-04-14 58 views
1

我使用Sparkfun的Arduino Ethernet Pro板和MP3播放器屏蔽(http://www.sparkfun.com/products/10536和http://www.sparkfun.com/products/10628使用Sparkfun的MP3播放器屏蔽與Arduino以太網Pro - SPI問題

我試圖用通過Sparkfun提供的例子,但我一直在爲相同的錯誤,我已經明確了以初始化SD卡(我使用的是SdFat)上運行。

敲定的核心問題,我試圖從SdFat庫運行「SdInfo」的例子。這是我的輸出:

SdFat版本:20111205

類型的任何字符開始

card.init失敗

SD錯誤碼:0X1

SD errordata子:0X0

如果我改變SS_PIN從9噸在Sd2PinMap.h中,每個Sparkfun指令(http://www.sparkfun.com/tutorials/295)中都有10個sdcard.init(...)方法掛起。

我認爲這個問題是因爲W5100以太網芯片和MP3播放器屏蔽之間的衝突。

是否有任何衝突的端口,我不知道的?或者我需要禁用W5100芯片?

回答

0

您使用的是什麼尺寸的SD卡? (嘗試使用兼容性爲< 4GB的SD卡) 根據Sparkfun發佈的原理圖,您不需要將其更改爲第10針。 你也看過sparkfun頁面,試過嗎? madsci's Library 並在聲明試試這個init命令card.init(SPI_FULL_SPEED,9) ..讓我知道那是對你的作品 -Ralim

+0

我使用SparkFun的2GB SD卡,所以不應該是一個問題。 我得到了聲音工作,所以我現在可以播放存儲在RAM中的mp3,所以我確認了這一點。 我試過madsci的圖書館,沒有運氣仍然壽。我試圖找出問題並製作一個簡單的程序,它只是從SD卡中檢索信息。 我試着通過將引腳6(MP3_XDS)和7(MP3_DREQ)設置爲高電平並將引腳8(MP3_RESET)設置爲低電平來禁用MP3解碼器。 我通過設置銷10高(芯片選擇引腳) 我初始化與銷9作爲芯片選擇引腳SD卡禁用W5100以太網芯片。 – CodeMonkey 2012-04-14 22:51:54

+0

我可以看到默認硬件SS引腳爲10,與以太網芯片選擇引腳相同。這是否導致任何衝突? – CodeMonkey 2012-04-14 22:57:14

0

你必須與所有的SPI設備的芯片選擇你的衝突正在使用。 SparkFun針對MP3屏蔽的「快速入門」指南討論瞭如何更改SD庫以使用MP3屏蔽。您需要進行類似的更改,以便您可以使用帶有MP3屏蔽的另一個CS引腳,併爲SD卡和W5100留出9和10。

當使用多個SPI器件,最好列出CS引腳出來。當你添加一個新的SPI設備時,就像使用MP3屏蔽一樣,你將能夠看到哪個引腳已經在做什麼。

+0

據我可以從原理圖中看到以下引腳是CS引腳: 引腳10:W5100(以太網) 引腳9:SD 引腳6:MP3解碼器 這似乎不會導致任何衝突,我錯了嗎? – CodeMonkey 2012-04-15 16:34:49

+0

今天我已經看到了更進一步,我仍然沒有得到SD卡的工作。 我得出的結論是,W5100芯片可能使用引腳9,你/任何人都可以確認/否認?我認爲這個圖表不準確,所以Eagle可能不得不使用。 原理圖:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Arduino-Ethernet-v112pg.pdf 鷹文件:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards /Arduino-Ethernet-v11.zip 謝謝! – CodeMonkey 2012-04-18 03:02:57