Вопрос по SD.exists()
- Войдите на сайт для отправки комментариев
Ср, 30/12/2015 - 16:27
Доброго времени суток!
Подскажите пожалуйста, почему так работает:
if (SD.exists("Temp")) Serial.println("File Temp is exists");
А при использовании строки нет:
String filename = "Temp"; if (SD.exists(filename)) Serial.println("File Temp is exists");
Контроллер постоянно перезагружается. Я так понимаю причина в том, что в массиве строк символом окончания является код 0х0, а в строке 0х10, 0х13?
Попробуйте
Попробуйте
Araris, по идее должен и String кушать. Там перегрузка определена:
Так что надо смотреть остальной скетч на предмет памяти и прочих приятностей.
Я так понимаю причина в том, что в массиве строк символом окончания является код 0х0, а в строке 0х10, 0х13?
Не выдумывайте. Где Вы эти символы в Вашем примере увидели?
Что компилятор про память говорит?
Почему то подумал что в конце строки используются символы перевода карретки CF, LF, ошибся.
Памяти у меня еще много: Global variables use 2 174 bytes (26%) of dynamic memory, leaving 6 018 bytes for local variables. Maximum is 8 192 bytes.
Специально накатал тестовый скетч, после которого ардуина уходит в бесконечный ребут:
Может конечно у меня просто глаза замылились, и я в упор не замечаю ошибки?
Попробуйте
Да, так работает, спасибо!
Да, так работает, спасибо!
Но, разобраться, почему не работает так, как у Вас, всё равно надо. Чуть попозже я доберусь до ардуины - отпишусь.
Добрался. Странно, но у меня как-то работает :(
У меня IDE 1.6.5, а у вас?