Оформи код соответствующим тэгом
Такова моя проблема:
Собрал некое устройство на mega2560pro mini, lcd128x64, rtc3231, модуль sd card, аналоговый датчик температуры и кнопки.
Заставил его выводить на экранчик текущее время, текущую температуру и минимум/максимум.
Теперь мне нужно сохранять эти данные на sd карту при условии флага "recstart" и настраиваемом периоде "rectime" (тип данных uint32_t)
if (recstart == true) {
u8g2.drawFrame(121,1,6,6);
if (!SD.begin(PIN_CHIP_SELECT)) {
u8g2.setFont(u8g2_font_5x8_t_cyrillic);
u8g2.setCursor(24, 32); u8g2.println("ЧТО ТО ПОШЛО НЕ ТАК");
Serial.println("ЧТО ТО ПОШЛО НЕ ТАК");
return;
}
File dataFile = SD.open("datalog.txt", FILE_WRITE);//начать запись
if (millis() - myTimer4 >= rectime) {
myTimer4 = millis();
u8g2.clearBuffer();
logStringData += String(steinhart);
logStringData += " ";
logStringData += (watch.gettime("H:i:s"));
logStringData += ",";
if (dataFile) {
dataFile.println(logStringData);
Serial.println(logStringData);
u8g2.drawBox(120, 1, 7, 7);
u8g2.sendBuffer();
u8g2.clearBuffer();
dataFile.close();
}
else {
Serial.println("error opening datalog.txt");
u8g2.setCursor(3, 24); u8g2.println("error opening datalog.txt");
u8g2.sendBuffer();
return;
}
}
u8g2.sendBuffer();
}
Столкнулся с проблемой вот какой:
Данные записываются исправно только в течение 3,5 - 4 мин
Pb1 = 43.66 12:26:51,
Pb1 = 43.54 12:27:22,
Pb1 = 43.31 12:27:53,
Pb1 = 43.20 12:28:23,
Pb1 = 43.20 12:28:54,
Pb1 = 43.31 12:29:24,
Pb1 = 43.31 12:29:55,
Pb1 = 43.31 12:30:26,
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
Пробовал записывать с периодом 10сек, 20сек, 30сек, - одно и то же. 3,5минуты и облом.
Попробовал перескочить проблемные 4мин и установил период 300сек(5мин).
Запись произошла всего один раз
Pb1 = 42.40 12:36:48,
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
В чем может быть проблема?
Поменять флешку на другую нет возможности, я эту то флешку еле нашел (надо было наверное покупать модуль под micro sd)
Я уже так настрадался с этим проектом, везде какие то подводные камни, то экран мерцает, то менюшка не пишется,
сейчас вот флешка отказывается работать...
Я уж молчу про вздувающуюся батарейку на RTC...
Собрал некое устройство на mega2560pro mini, lcd128x64, rtc3231, модуль sd card, аналоговый датчик температуры и кнопки.
Заставил его выводить на экранчик текущее время, текущую температуру и минимум/максимум.
Теперь мне нужно сохранять эти данные на sd карту при условии флага "recstart" и настраиваемом периоде "rectime" (тип данных uint32_t)
if (recstart == true) {
u8g2.drawFrame(121,1,6,6);
if (!SD.begin(PIN_CHIP_SELECT)) {
u8g2.setFont(u8g2_font_5x8_t_cyrillic);
u8g2.setCursor(24, 32); u8g2.println("ЧТО ТО ПОШЛО НЕ ТАК");
Serial.println("ЧТО ТО ПОШЛО НЕ ТАК");
return;
}
File dataFile = SD.open("datalog.txt", FILE_WRITE);//начать запись
if (millis() - myTimer4 >= rectime) {
myTimer4 = millis();
u8g2.clearBuffer();
logStringData += String(steinhart);
logStringData += " ";
logStringData += (watch.gettime("H:i:s"));
logStringData += ",";
if (dataFile) {
dataFile.println(logStringData);
Serial.println(logStringData);
u8g2.drawBox(120, 1, 7, 7);
u8g2.sendBuffer();
u8g2.clearBuffer();
dataFile.close();
}
else {
Serial.println("error opening datalog.txt");
u8g2.setCursor(3, 24); u8g2.println("error opening datalog.txt");
u8g2.sendBuffer();
return;
}
}
u8g2.sendBuffer();
}
Столкнулся с проблемой вот какой:
Данные записываются исправно только в течение 3,5 - 4 мин
Pb1 = 43.66 12:26:51,
Pb1 = 43.54 12:27:22,
Pb1 = 43.31 12:27:53,
Pb1 = 43.20 12:28:23,
Pb1 = 43.20 12:28:54,
Pb1 = 43.31 12:29:24,
Pb1 = 43.31 12:29:55,
Pb1 = 43.31 12:30:26,
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
Пробовал записывать с периодом 10сек, 20сек, 30сек, - одно и то же. 3,5минуты и облом.
Попробовал перескочить проблемные 4мин и установил период 300сек(5мин).
Запись произошла всего один раз
Pb1 = 42.40 12:36:48,
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
В чем может быть проблема?
Поменять флешку на другую нет возможности, я эту то флешку еле нашел (надо было наверное покупать модуль под micro sd)
Я уже так настрадался с этим проектом, везде какие то подводные камни, то экран мерцает, то менюшка не пишется,
сейчас вот флешка отказывается работать...
Я уж молчу про вздувающуюся батарейку на RTC...