[英]Writing to SD card arduino
我的Arduino遇到了一些麻煩。 我正在嘗試為我的文件命名一個動態名稱,並將其轉換為char數組,就像在該網站的某些帖子中看到的那樣。
這是我編寫函數的方式:
void writeSD()
{
DateTime dt = RTC.now();
String temp = "DIVE";
temp += dt.day();
temp += dt.month();
temp += dt.year();
temp += ".txt";
Serial.println(temp);
char filename[temp.length()+1];
temp.toCharArray(filename, sizeof(filename));
myFile = SD.open(filename, FILE_WRITE);
if (myFile) {
Serial.print("Writing to txt file...");
myFile.print(dt.day(), DEC);
myFile.print('-');
myFile.print(dt.month(), DEC);
myFile.print('-');
myFile.print(dt.year(), DEC);
myFile.print(' ');
myFile.print(dt.hour(), DEC);
myFile.print(':');
myFile.print(dt.minute(), DEC);
myFile.print(':');
myFile.print(dt.second(), DEC);
myFile.println();
myFile.close();
Serial.println("done.");
} else {
Serial.println("error opening txt file");
}
}
我只有"error opening txt file"
,也不知道為什么。 我的文件名正確,在控制台上打印時顯示如下: DIVE652014.TXT
當我更准確地閱讀Adafruit的SD突破板文檔時,我想出了為什么它不起作用:
SD卡庫不像我們過去那樣支持“長文件名”。 而是使用8.3格式的文件名,因此文件名要簡短! 例如IMAGE.JPG很好,而datalog.txt不好,因為“我的GPS日志文件。文本”不好!
所以我有10個字符,但文件名只接受8個字符。
感謝您嘗試幫助我! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.