我正在使用Arduino库。我想记录传感器中的一些数据,日期时间标记它并将其写入SD卡。
构建我尝试过的文本文件名
String dataFileName = String(String(sedClock.getTime().year(),DEC) +
String(sedClock.getTime().month(),DEC) +
String(sedClock.getTime().day(),DEC) +
String(sedClock.getTime().hour(),DEC) +
String(sedClock.getTime().minute(),DEC) +
String(sedClock.getTime().second(),DEC) + '_log.txt');
然后我想使用
登录该文件 pinMode(SD_PIN,OUTPUT);
dataFile = SD.open(dataFileName,FILE_WRITE);
但是我得到了
no matching function call to SDClass::open(String&, int)
candidates are: File SDClass::open(const char*,uint_8)
但似乎Arduino字符串没有相应的
(const char *) dataFileName.c_str()
所以我无法弄清楚如何进行正确的转换
非常感谢任何帮助。
答案 0 :(得分:17)
感谢您的帮助。解决方案是
char __dataFileName[sizeof(dataFileName)];
dataFileName.toCharArray(__dataFileName, sizeof(__dataFileName));
pinMode(SD_PIN,OUTPUT);
dataFile = SD.open(__dataFileName,FILE_WRITE);
答案 1 :(得分:2)