将文件保存在SD卡上会出错
问题描述:
我正在使用带有Arduino分线板的英特尔Edison。我想将文件保存在SD卡上,并在Arduino IDE上运行一个简单的ReadWrite示例。一切正常,我有一个输出:将文件保存在SD卡上会出错
正在初始化SD卡...初始化完成。写入 test.txt ...完成。 test.txt:测试1,2,3.
但是,然后我把SD卡插入PC,该文件不存在或它是空的。
这是示例代码:
#include <SPI.h>
#include <SD.h>
File myFile;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
pinMode(10, OUTPUT);
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void loop()
{
// nothing happens after setup
}
答
我用这个命令卸载
umount /media/sdcard
并将其保存的问题。
1.是否有文件对象的* .flush()*方法?如果是这样,请在* .close()*之前调用它。 2.如果你评论第二次开幕(当然还有相关的话),这有帮助吗? – 0andriy