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()
だから私は正しい変換を行う方法を理解することができません
どんな助けでも大歓迎です。
ご協力いただきありがとうございます。解決策は
char __dataFileName[sizeof(dataFileName)];
dataFileName.toCharArray(__dataFileName, sizeof(__dataFileName));
pinMode(SD_PIN,OUTPUT);
dataFile = SD.open(__dataFileName,FILE_WRITE);
StringToCharArray
または StringGetBytes
はどうですか?