如果在Arduino中使用SD卡进行数据保存,必须调用SD库中的flush()方法,以确保数据已被写入SD卡。否则,虽然看上去数据已被写入SD卡,但在读取时数据可能会丢失或不完整。
示例代码如下:
#include
File myFile;
void setup() { Serial.begin(9600);
// 为SD卡初始化针脚 if (!SD.begin(10)) { Serial.println("初如化SD不成功"); return; } Serial.println("初始化SD成功"); }
void loop() { // 打开文件 myFile = SD.open("test.txt", FILE_WRITE);
// 如果文件打开成功,则写入数据 if (myFile) { myFile.println("hello world"); myFile.flush(); // 确保数据已被写入SD卡 myFile.close(); Serial.println("写入成功"); } else { Serial.println("打开文件失败"); }
// 等待1秒钟 delay(1000); }
这个示例代码演示了如何向SD卡写入数据,并使用flush()方法确保数据已被写入SD卡。如果您忽略了flush()方法,您可能会发现数据未被正确保存。