Domanda

Ho provato diversi programmi di esempio per scrivere i dati sulla scheda SD montata sulla Ethernet scudo , ma nessuno ha funzionato. Le dimensioni della scheda SD è di 4 GB e formattato come FAT32 .

Lo scudo Ethernet è il seguente:

(acquistato su Amazon - Arduino Ethernet Shield )

Inserire descrizione dell'immagine qui

E questo è esempio di codice che non funziona quando si crea un'applicazione Netduino (non applicazione Netduino Plus) (thefirst linea genera un'eccezione):

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

Esiste un programma di lavoro esempio?

Soluzione:

Grazie a Chris e James, sono riuscito a scrivere sulla scheda SD e leggere da esso. Dopo aver messo tutto insieme, ho scritto un articolo , nel caso in cui nessun altro si trova di fronte gli stessi problemi.

È stato utile?

Soluzione

L'ultima revisione della Ethernet Shield Arduino utilizza l'intestazione "ICSP" (3x2, intestazione 6-pin sul lato destro della scheda) per comunicare. I dati di input / output che vanno alla scheda SD sta andando su quelle spille.

Abbiamo incluso queste stesse intestazioni sulla Netduino per la compatibilità; per utilizzare questo scudo, ti consigliamo di saldare l'intestazione appropriata sul vostro Netduino. Poi si dovrebbe essere pronti per partire!

A proposito, Netduino Plus è integrato MicroSD e veloce rete Ethernet ... che può essere una soluzione facile pure. http://www.netduino.com/netduinoplus/

Chris (Secret Labs LLC)

Altri suggerimenti

Ho trovato un riferimento in questa pagina forum http://forums.netduino.com

"avrete attualmente bisogno di mettere un ponticello tra D10 e D4 per ottenere la scheda SD per il lavoro - anche se questo non sarà necessario con il produzione v4.1.1 firwmare (che vi permetterà di specificare della scheda SD chip select line) ".

Il che mi fa pensare che è necessario utilizzare D4 invece di D10 per la scheda SD. Ho trovato alcuni altri riferimenti sulla stessa pagina che D10 menzionato è il perno di SS per l'Ethernet. Il firmware disponibili sulla loro pagina di download è solo 4.1.0 attualmente modo si avrà probabilmente bisogno il ponticello. Non posso testare questo, ma il link forum dovrebbe essere un buon punto di partenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top