ТС, выполните на карточке команду "ls" или "dir" - что там у вас. И выложите результат. Если на карте сотни файлов и список слишком большой - можно сократить
Entry net.ini 1 net.ini Point#1 Point#2 Point#3 Point#4 1207 <- вывел file.size совпадает с виндой ⸮14052019.dat Ini file net.ini does not exist на карте всего 2 файла - net.ini и 14052019.dat
Придётся ещё глубже лезть. Открывай файл File.cpp (он там в поставке IDE лежит рядом с SD.cpp). В нём ищи конструктор "File::File(SdFile f, const char *n)" Спойлер: Текст конструктора Код (C++): File::File(SdFile f, const char *n) { // oh man you are kidding me, new() doesnt exist? Ok we do it by hand! ////// (1) _file = (SdFile *)malloc(sizeof(SdFile)); if (_file) { memcpy(_file, &f, sizeof(SdFile)); strncpy(_name, n, 12); _name[12] = 0; /* for debugging file open/close leaks nfilecount++; Serial.print("Created \""); Serial.print(n); Serial.print("\": "); Serial.println(nfilecount, DEC); */ } ////// (2) } В точке (1) вставляй печать строки "Inside constructor", а в точке (2) вставляй else Serial.println("A vot hren tam!"); Запусти, и покажи, что получилось.
andy_maw, ну, как там? ты, кстати, такую работу и сам можешь делать. Это когда с наскока ничего не понятно, то начинаешь планово и методично, шаг за шагом, не спеша смотреть что происходит. При такой планомерной работе причину проблемы не найти невозможно, просто иногда это времени требует. Почти уверен, что мы уже добрались. Если при моих последних правках, ты увидишь надпись "хрен там", значит причина понятна - памяти не хватает. Ну, а не увидим, будем дальше рыть. Мне сейчас надо с работы домой переехать, так что я отрублюсь на пару часов. Вечером я вернусь. Ты пока выкладывай последний тест.
Created empty file object Entry /net.ini 1 net.ini Point#1 Point#2 Created empty file object Point#3 Point#4 1207 Created "net.ini": 4 net.ini Ini file exists section 'network' has an entry 'mac' with value 01:23:45:67:89:AB Could not read 'nosuchkey' from section 'network', error was key not found Could not read 'nosuchkey' from section 'nosuchsection', error was section not found The value of 'allow put' in section '/upload' is TRUE как то получилось (пока не по феншую)
повторить это (см выше) полностью несколько раз подряд не удалось если файл открывался то не хватало размера буфера для чтения секций иногда файл не открывался это после того как вставили Serial в нескольких местах исходников любое изменение в Serial (изменение кол букв или закоментировать строку) стопорит открытие файла а может не хватает памяти для данного скетча - Arduino UNO
да - проскакивала фраза "хрен вам", но не каждый раз в этой связи в исходниках тоже есть закомментированные строки для дабага чем я и воспользовался люди не будут выкладывать не проверенное решение - подумал я и минимизировал скеч (на удачу) и все пошло! может я плохо искал информацию об особенностях применения стандартного скетча для UNO (а может не искал) а так вполне удобная прога, а то хотел с горя писать с нуля на этом все. всем спасибо за активное участие и помощь в освоении ARDUINO
В нормально работающей программе не должна никогда - это означает, что программа запросила память, а ей не дали! Такого быть не должно.