Netduino + Ethernet Shield: Come scrivere sulla scheda SD?
-
27-10-2019 - |
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 )
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.
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.