SD Правильная запись логов на флешку с проверкой
- Войдите на сайт для отправки комментариев
Пнд, 27/04/2015 - 13:21
привет всем не как не могу сделать правильную запись на флешку с проверкой. если вытощить флешку вовремя работы то код серовно думает что фаил есть и какимто чудом внего чтото пишет в пустоту...
хотя по сути myFile = SD.open("log.txt", FILE_WRITE); лож и должен быть ERROR
if (aleks == true)
{
myFile.close();
myFile = SD.open("log.txt", FILE_WRITE);
if (myFile) {
myFile.print("Алексей Пришел : ");
myFile.print(rtc.getDateStr());
myFile.print(" : ");
myFile.println(rtc.getTimeStr());
myFile.close();
lcd.setCursor(8, 4);
lcd.print("OK");
tone(7,700,500);
}
else {
Serial.println("error opening");
lcd.setCursor(8, 4);
lcd.print("ERROR");
}
void SD_check() { static uint32_t pre_millis = 0; if(millis()-pre_millis < 500) return; // 2 раза в секунду проверяем pre_millis = millis(); myFile = SD.open("log.txt", FILE_READ); if(myFile.read() == -1) // Если файл не читается // if(base.available()) // или нечего читать { Serial.println("Card removed"); delay(50); asm volatile ("jmp 0x0000"); // перезагружаемся } myFile.close(); }В общем смысл в том, что открывайте и читаййте файл, если не читается, значит файла и/или карты нет.