我已经尝试了几个示例程序来将数据写入安装在Ethernet shield上的 SD 卡,但没有一个有效。SD 卡大小为 4 GB,格式为FAT32。
以太网屏蔽如下:
(在亚马逊上购买 - Arduino Ethernet Shield)
这是在创建 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());
}
}
有示例工作程序吗?
解决方案:
感谢 Chris 和 James,我设法写入 SD 卡并从中读取。把所有东西放在一起后,我写了一篇文章,以防其他人面临同样的问题。