功能和SD文件创建
Functions and SD file creations
我是Arduino和C++的新手,我正在尝试编写一些函数,用可变文件名将数据存储在SD卡上,但遇到了麻烦。循环期间的输出显示:"错误打开:9/11/2014 15:57:04,行内容=2014 records.txt"
提前感谢
#include <SD.h> //SD Card Library
include <DS1307RTC.h>
#include <Time.h>
#include <Wire.h>
File myFile;
//Functions
String record_to_file(String(content)){
String filename = String(filenamecreate());
char fileNameCharArray[filename.length() + 1];
filename.toCharArray(fileNameCharArray, filename.length()+1);
myFile = SD.open(fileNameCharArray, FILE_WRITE);
if (myFile) {
myFile.println(content);
myFile.close();
return String("Data Written: " + content + "=" + filename);
} else {
return String("Error Opening: " + content + "=" + fileNameCharArray);
}
}
String print2digits(int number) {
if (number >= 0 && number < 10) {
return(String('0' + String(number)));
}
return(String(number));
}
String dateString() {
tmElements_t tm;
if (RTC.read(tm)) {
String timeLog = String(tm.Day) + "/" + String(tm.Month) + "/" + String(tm.Year + 1970) + " " + String(print2digits(tm.Hour)) + ":" + String(print2digits(tm.Minute)) + ":" + String(print2digits(tm.Second));
return(timeLog);
} else {
if (RTC.chipPresent()) {
return("The DS1307 is stopped please run the SetTime");
} else {
return("Clock may be broken");
}
}
}
String filenamecreate(){
tmElements_t tm;
if (RTC.read(tm)) {
return(String(tm.Year + 1970) + "-records.txt");
} else {
return("UnknownDate");
}
}
void setup()
{
Serial.begin(9600); while (!Serial) { ; }
Serial.print("Initializing SD card..."); pinMode(10, OUTPUT);
if (!SD.begin(10)) {Serial.println("Initialization of SD failed!"); return; } Serial.println("initialization of SD done.");
}
void loop()
{
delay(2000);
Serial.println(record_to_file(dateString() + "," + "Line Content"));
}
根据这个和这个,文件名必须是8.3格式。
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 如何从具有两列的.txt文件创建并行数组?
- 从 .lib 文件创建一个.dll文件
- 如何从输入文件 c++ 创建随机名称生成器
- 无法从 cso 文件创建顶点着色器(从 fx 文件创建)
- 如何为多个目录中的多个文件创建生成文件?
- 在编译时从 c++ 文件创建枚举
- 如何在运行时从 c++ 中的 DLL 文件创建对象?
- 文件创建并不总是成功
- 如何使用 QFile、c++ 从文件创建整数数组
- 您可以使用 makefile 从 .o 对象文件创建 C++ 文件吗?
- 从函数中的dat文件创建一个2维数组
- 如何为 cpp 和 h 文件创建别名(并忽略编译器__attributes__)
- 如何从现有的生成文件创建 CMake 文件?
- 为什么我无法使用文本文件创建文件映射?
- 通过读取文件创建映射<字符串,矢量>时如何管理内存<string>
- 从文本文件创建 2D 字符串矢量
- ofStream: - 尽管文件创建了,但文本文件上没有输出
- 从语言文件创建JSON对象
- 功能和SD文件创建