Проблема с SD картой. Или не с ней..
- Войдите на сайт для отправки комментариев
Пт, 29/07/2016 - 09:47
Итак строим потихонечку GSM шлюз на М590 из того, что есть. :) Вдруг нарисовалась проблема на ровном месте...
Есть функция (Serial.println - для отладки):
// Функция проверяет телефон в списке из файла phones.txt bool check_phone(String in_phone) { Serial.println(in_phone); // тут я вижу номер звонившего int ch = 0; bool is_preset = LOW; if (SD.exists("phones.txt")) { Serial.println("File phones.txt is OK"); // вижу эту надпись myFile = SD.open("phones.txt"); if (myFile) { Serial.println("File phones.txt is OPEN"); // Эту надпись не вижу char buff[11]; in_phone.toCharArray(buff, 10); buff[10] = 0; if (myFile.findUntil(buff, "\n")) { Serial.print("buff - "); Serial.println(buff); is_preset = HIGH; } myFile.close(); Serial.println("File phones.txt is CLOSE"); } else { Serial.println("File phones.txt NOT OPEN!!"); // вижу эту надпись delay(1000); error_sd = 1; // Это глобальная переменная. По умолчанию - 0. } } else { sms(String("No file PHONES.TXT"), String("+79112255405")); // error_sd = 1; } return is_preset; }
Изчего я делаю вывод, что файл есть, но он не открывается.
Карточку естественно в компуте вставлял, она работает. И файл есть, и 1000 номеров в нем, и тот что ищу тоже есть.
Куды бечь?
форматировать программой flashboot в fat16, и уменьшить кол-во номеров до 2
Пробовал - не помогает. Более того - оно все работало одно время. Что послужило причиной отказа не знаю. Магия какая-то... или колдунство..
Для пробы позаливал файлы примеров к SD - работают на "Ура". И чтение-запись и листинг файлов...
У меня сегодня тоже вылезла ЧУПАКАБРА просто ахтунг !!!
http://arduino.ru/forum/apparatnye-voprosy/mega2560-w5100-glyuki-ot-nalichiya-sd-kartochki
Нету карты, проэктик на 5 строк работает 12 часов всю ночь.
Вставляю пустую любую SD-карточку, меняю компы, кабеля, и проэкт за пару минут виснет.
Только отщелкиваю нагорячую карточку, и ОППА - ПРОЭКТ ЛЕТАЕТ ДАЛЬШЕ !!!
Просто непонятно, как пустая СД-карта, даже если я с ней не работаю, вешает к чертям проэкт на 5 строк.
Чота фигня какая-то непонятная. Прикрутил библиотеку для DS1307 - все заработало. Мистика...
прикрутил библиотеку, а пользуетесь устройством DS1307 - или вообще нет ?
Пользуюсь. Просто до этого юзал wire.h а тут решил посмотреть на DS1307.h. К стати, и памяти скетч меньше жрет..
какое же отношение имеет вставленная SD карточка - к протоколу обмена DS1307 блин !!!
Сие есть великая тайна!