Pregunta

He probado varios programas de ejemplo para escribir datos en la tarjeta SD montada en el Escudo de Ethernet, pero ninguno funcionó. El tamaño de la tarjeta SD es de 4 GB y está formateado como Fat32.

El escudo Ethernet es el siguiente:

(Comprado en Amazon - Arduino Ethernet Shield)

Enter image description here

Y este es un código de ejemplo que no funciona al crear una aplicación NetDuino (no aplicación NetDuino Plus) (la primera línea lanza una excepción):

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

¿Hay un programa de trabajo de ejemplo?

Solución:

Gracias a Chris y James, logré escribir en la tarjeta SD y leerlo. Después de armar todo, Escribí un artículo, en caso de que alguien más enfrente los mismos problemas.

¿Fue útil?

Solución

La última revisión del Arduino Ethernet Shield utiliza el encabezado "ICSP" (encabezado 3x2, 6 pines en el lado derecho de la junta) para comunicarse. Los datos de entrada/salida que van a su tarjeta SD están repasando esos alfileres.

Hemos incluido estos mismos encabezados en el NetDuino para la compatibilidad; Para usar este escudo, querrá soldar el encabezado apropiado en su NetDuino. ¡Entonces deberías ser bueno para ir!

Por cierto, NetDuino Plus tiene redes integradas de microSD y Ethernet rápida ... que también puede ser una solución fácil. http://www.netduino.com/netduinoplus/

Chris (Secret Labs LLC)

Otros consejos

Encontré una referencia en esta página del foro http://forums.netduino.com

"Actualmente deberá colocar un cable de puente entre D10 y D4 para que la tarjeta SD funcione, aunque eso no será necesario con la producción V4.1.1 FirWmare (que le permitirá especificar la línea seleccionada de chips de la tarjeta SD) "

Lo que me hace pensar que necesitas usar D4 en lugar de D10 para la tarjeta SD. Encontré algunas otras referencias en la misma página que mencionó D10 es el pin SS para el Ethernet. El firmware disponible en su página de descarga es actualmente solo 4.1.0, por lo que probablemente necesite el saltador. No puedo probar esto, pero el enlace del foro debería ser un buen punto de partida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top