Frage

Ich habe mehrere Beispielprogramme ausprobiert, um Daten an die SD -Karte zu schreiben, die auf dem montiert ist Ethernet -Schild, aber keiner hat funktioniert. Die SD -Kartengröße ist 4 GB und formatiert als FAT32.

Der Ethernet -Schild ist der folgende:

(Gekauft bei Amazon - Arduino Ethernet Shield)

Enter image description here

Und dies ist ein Beispielcode, der beim Erstellen einer Netduino -Anwendung (nicht bei Netduino Plus -Anwendung) nicht funktioniert (die erste Zeile bringt eine Ausnahme):

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());
    }
}

Gibt es ein Beispielarbeitsprogramm?

Lösung:

Dank Chris und James habe ich es geschafft, an die SD -Karte zu schreiben und daraus zu lesen. Nachdem alles zusammengestellt wurde, Ich habe einen Artikel geschrieben, falls jemand anderes die gleichen Probleme hat.

War es hilfreich?

Lösung

Die neueste Überarbeitung des Arduino Ethernet Shield verwendet den "ICSP" -Header (3x2, 6-polige Header auf der rechten Brett), um zu kommunizieren. Die Eingangs-/Ausgabedaten, die auf Ihre SD -Karte gehen, werden über diese Stifte hinweg durchgeführt.

Wir haben die gleichen Header in Netduino für die Kompatibilität aufgenommen. Um diesen Schild zu verwenden, möchten Sie den entsprechenden Kopfball auf Ihrem Netduino löten. Dann solltest du gut gehen!

Übrigens hat Netduino Plus microSD und Fast Ethernet -Netzwerke integriert ... was auch eine einfache Lösung sein kann. http://www.netduino.com/netduinoplus/

Chris (Secret Labs LLC)

Andere Tipps

Ich habe auf dieser Forum -Seite eine Referenz gefunden http://forums.netduino.com

"Sie müssen derzeit einen Jumper-Draht zwischen D10 und D4 einsetzen, um die SD-Karte zum Laufen zu bringen-obwohl die Produktion V4.1.1 Firwmare nicht erforderlich ist (mit der Sie die SED-Select-Linie der SD-Karte angeben können) . "

Das lässt mich denken, dass Sie D4 anstelle von D10 für die SD -Karte verwenden müssen. Ich habe auf derselben Seite, auf der D10 erwähnt wurde, einige andere Referenzen gefunden, die der SS -Pin für das Ethernet ist. Die auf ihrer Download -Seite verfügbare Firmware ist derzeit nur 4.1.0, sodass Sie wahrscheinlich den Jumper benötigen. Ich kann das nicht testen, aber der Forum -Link sollte ein guter Ausgangspunkt sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top