Я попробовал несколько примеров программ для записи данных на SD-карту, установленную на Ethernet-шилд, но ни один не работал. Размер SD-карты составляет 4 ГБ и отформатирован как FAT32.
Экран Ethernet выглядит следующим образом:
(Куплено на Amazon — Arduino Ethernet Shield)
И это пример кода, который не работает при создании приложения 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-карту и прочитать с нее. Собрав все вместе, я написал статью На случай, если у кого-то возникнут такие же проблемы.