1

SparkfunのArduinoEthernetProボードと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の「クイックスタート」ガイドでは、MP3シールドで動作するようにSDライブラリを変更する方法について説明しています。MP3シールドでさらに別のCSピンを使用できるように、同様の変更を加える必要があります。SDカードとW5100用に9と10を残します。

複数のSPIデバイスを使用する場合は、CSピンをリストアップするのが最適です。MP3シールドの場合と同様に、新しいSPIデバイスを追加すると、どのピンがすでに何を実行しているかを確認できます。

于 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 に答える