Netduino + Ethernet Shield: Как записать на SD-карту? - PullRequest
1 голос
/ 19 октября 2011

Я пробовал несколько примеров программ для записи данных на SD-карту, установленную на Ethernet-щит , но ни одна из них не работала. Размер SD-карты составляет 4 ГБ и отформатирован как FAT32 .

Экран Ethernet имеет следующий вид:

(Куплено на Amazon - Arduino Ethernet Shield )

Enter image description here

И это пример кода, который не работает при создании приложения 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-карту и прочитать с нее. Собрав все воедино, я написал статью , на случай, если кто-то еще столкнется с такими же проблемами.

Ответы [ 2 ]

2 голосов
/ 21 октября 2011

В последней версии Arduino Ethernet Shield для связи используется заголовок «ICSP» (3x2, 6-контактный разъем на правой стороне платы).Данные ввода / вывода, поступающие на вашу SD-карту, проходят через эти контакты.

Мы включили эти же самые заголовки в Netduino для совместимости;Чтобы использовать этот щит, вы должны припаять соответствующий заголовок на вашем Netduino.Тогда вам будет хорошо!

Кстати, Netduino Plus интегрировал MicroSD и быструю сеть Ethernet ... что также может быть простым решением.http://www.netduino.com/netduinoplus/

Крис (Secret Labs LLC)

0 голосов
/ 20 октября 2011

Я нашел ссылку на этой странице форума http://forums.netduino.com

"В настоящее время вам нужно установить перемычку между D10 и D4, чтобы заставить работать SD-карту - хотя это будетне требуется в производственной версии 4.1.1 firwmare (которая позволит вам указать строку выбора микросхемы SD-карты). "

Что заставляет меня думать, что вам нужно использовать D4 вместо D10 для SDКарта.На той же странице я обнаружил некоторые другие ссылки, в которых упоминалось, что D10 является выводом SS для Ethernet.Программное обеспечение, доступное на их странице загрузки, в настоящее время имеет только 4.1.0, так что вам, вероятно, понадобится перемычка.Я не могу проверить это, но ссылка на форум должна быть хорошей отправной точкой.

...