Ви не увійшли.
Помогите пожалуйста с проблемой. Суть ее такова есть задача: хочу чтоб каждые сутки писался на карту отдельный файл c именем даты.Чтобы легче было обрабатывать большой объем данных. Библиотека RTC.h и SD.h ...там есть функция time.gettime() и переменные time.seconds, time.minutes и т д Пытался вместо первого аргумента вставить time.gettime("d_m_Y") - ошибки нет но файл не пишется. А вот с переменными выдает ошибку -
" invalid conversion from 'uint8_t {aka unsigned char}' to 'const char*' [-fpermissive]"
Неактивний
Создаёт ли файл этот код? --
File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println("Hello, world!");
dataFile.close();
}
Что покажет монитор порта? --
Serial.println(time.gettime("d_m_Y"));
Неактивний
Все дело в том что скетч без сериал соеденения.С LCD монитором (автономный регистратор). А Ваш код сделает следующее - создаст файл с именем datalog.txt
а dataFile.println("Hello, world!");напишет в нем привет мир. А хотелось бы что бы программа сама писала имя файла которое равно текущей дате. Я думаю что нужно как то расшифровать переменные time.day , time.month, time. year и перевести их в текст, склеять в имя, а потом этот текст, вставить в первый аргумент. Только вот не силен пока в примудростях таких (если вообще это возможно)
Остання редакція Иван (2016-01-04 17:14:52)
Неактивний
Можно сделать всё. Или почти всё. Но без возможности отладки написание кода становится мукой. Я так понимаю, что Ардуино принято дебажить через Serial monitor. Для начала можно узнать, что выдаёт time.gettime("d_m_Y").
Неактивний
Всем спс
Нашел здесь http://arduino.ru/forum/programmirovani … ssiva-char (последний ответ дал результат)
if(time.seconds == 34)
{
String filename1 = String(time.day)+String("_")+String(time.month)+String("_")+String(time.year)+".txt";
char filename[filename1.length()+1];
filename1.toCharArray(filename,sizeof(filename));
myFile = SD.open(filename, FILE_WRITE);
}
Остання редакція Иван (2016-01-04 00:54:27)
Неактивний
// получение имени файла для текущего дня при использовании библиотеки RTClib.h.
String get_file_name()
{
String filename1;
dt = RTC.now();
filename1+=String(dt.year()-2000,DEC);
if(dt.month()<10)
filename1+="-0"+String(dt.month(),DEC);
else
filename1+="-"+String(dt.month(),DEC);
if(dt.day()<10)
filename1+="-0"+String(dt.day(),DEC);
else
filename1+="-"+String(dt.day(),DEC);
//filename1+="-"+String(dt.hour(),DEC);
//filename1+="-"+String(dt.minute(),DEC);
//filename1+="-"+String(dt.second(),DEC);
filename1+=".txt";
return filename1;
}