イーサネットシールドに取り付けられたSDカードにデータを書き込むためのいくつかのサンプルプログラムを試しましたが、どれも機能しませんでした。SDカードのサイズは4GBで、FAT32としてフォーマットされています。
イーサネットシールドは次のとおりです。
(Amazonで購入-Arduinoイーサネットシールド)
これは、Netduinoアプリケーション(Netduino Plusアプリケーションではない)を作成するときに機能しないサンプルコードです(最初の行は例外をスローします)。
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());
}
}
動作するプログラムの例はありますか?
解決:
クリスとジェームズのおかげで、SDカードに書き込みと読み取りを行うことができました。すべてをまとめた後、他の誰かが同じ問題に直面した場合に備えて、私は記事を書きました。