2011-10-19 7 views
1

Ethernet shieldにマウントされたSDカードにデータを書き込むためのいくつかのサンプルプログラムを試しましたが、何も動作しませんでした。 SDカードのサイズは4 GBで、フォーマットはFAT32です。Netduino + Ethernet Shield:SDカードに書き込む方法は?

イーサネットシールドは以下の通りです:

(Amazonで買った - Arduino Ethernet Shield

Enter image description here

そして、これはNetduinoアプリケーション(ないNetduinoプラスを作成するときに動作しないコード例ですアプリケーション)(最初の行は例外をスローします):

public static void Main() 
{ 
    StorageDevice.MountSD("SD1", SPI_Devices.SPI1, Pins.GPIO_PIN_D10); 

    string[] directories = System.IO.Directory.GetDirectories(@"\"); 
    Debug.Print("directory count: " + directories.Length.ToString()); 

    for (int i = 0; i < directories.Length; i++) 
    { 
     Debug.Print("directory: " + directories[i]); 
    } 

    string[] files = System.IO.Directory.GetFiles(@"\SD1"); 
    Debug.Print("file count: " + files.Length.ToString()); 

    for (int i = 0; i < files.Length; i++) 
    { 
     Debug.Print("filename: " + files[i]); 
     FileStream fs = new FileStream(files[i], FileMode.Open, FileAccess.Read, FileShare.None, 512); 
     StreamReader sr = new StreamReader(fs); 
     Debug.Print("contents: " + sr.ReadToEnd()); 
    } 
} 

例がありますかgプログラム?

ソリューション:クリスとジェームズに

おかげで、私はSDカードに書き込み、それから読み取ることができました。他の誰かが同じ問題を抱えている場合は、すべてをまとめた後にI wrote an article

+0

あなたが使用しているイーサネットシールドモデルを明確でした。私はSDカードスロットを持っていたが、実際にそれをサポートしていないバージョンが長い間利用可能であったと信じています。だからどの会社を買ったのですか? – James

+0

これは最新のもので、私も参考にしていた問題はありません。申し訳ありませんが、私はそれに関する経験がなく、多くの助けをすることはできません。あなたが作業しているコード例の1つを共有したいのであれば、私と他の人たちがあなたのために「目の第2セット」を提供するかもしれません。 – James

答えて

2

Arduinoイーサネットシールドの最新リビジョンでは、通信に「ICSP」ヘッダー(ボードの右側に3x2,6ピンヘッダー)が使用されています。あなたのSDカードに行く入出力データは、それらのピンを超えています。

これらのヘッダーは、互換性のためにNetduinoに含まれています。このシールドを使用するには、適切なヘッダーをNetduinoに半田付けする必要があります。それから、あなたは行かなくてはなりません!

ところで、Netduino Plusには、MicroSDとファーストイーサネットネットワークが組み込まれています...これは簡単な解決策でもあります。 http://www.netduino.com/netduinoplus/

クリス(シークレットラボLLC)

+0

ICSPヘッダーを追加しました。ファームウェアをv4.1.1.0 Beta1にアップグレードしましたが、アプリケーションはまだ例外をスローします。「System.IO.IOException」の未処理の例外がSecretLabs.NETMF.IOで発生しました。dll –

+0

D4とD10を接続するジャンパー線を追加しました。 –

0

私は「あなたは現在、仕事に SDカードを取得するにはD10とD4の間にジャンパ線を配置する必要があります。このフォーラムのページhttp://forums.netduino.com

の参照を見つけた - それは必要ではないだろうが、 production v4.1.1 firwmare(SDカードの チップセレクトラインを指定できるようになります)。

私は、SDカードにD10の代わりにD4を使用する必要があると思います。私はD10がイーサネットのSSピンであると言及されている同じページに他の参考文献をいくつか見つけました。ダウンロードページで入手できるファームウェアは現在4.1.0しかないので、おそらくジャンパーが必要です。私はこれをテストすることはできませんが、フォーラムのリンクは良い出発点でなければなりません。

関連する問題