работа с SD картой
- Войдите на сайт для отправки комментариев
Ср, 14/02/2018 - 14:49
Недавно начал разбираться с СД
в общем столкнулся с проблемкой - используя штатную библиотеку SD.h
не могу создать новый файл
// создание файла "iarduino.txt": myFile = SD.open("iarduino.txt", FILE_WRITE); // если файла с именем "iarduino.txt" - нет, то он будет создан.
при этом если вручную его создать - то в него нормально пишется всё...
посоветуйте как быть или может какую другую библиотеку использовать с более продвинутой и качественной работой?
ЕлиТе уже целый лес тем с вопросами создали (про SD уже была тема). Неужели всё в одной теме обсудить нельзя?
взял SdFat.h - всно норм теперь
Илита, и правда - на тему СД это уже, как минимум, третья ваша тема.
По сути вопроса - поищите тему на Амперке, там недавно кто-то спрашивал именно про создание файла. На первых порах, помню - выяснилось, что человек в форуме спрашивает о создании файла "text.txt", а на самом деле пытается создавать файл с названием "text12345.txt". забывая об ограничениях на длину имени файла в FAT16. После этой у него еще какие-то проблемы всплыли, может и свой ответ найдете.
не могу
(Ср, 14/02/2018 - 13:49)
всно норм теперь
(Ср, 14/02/2018 - 14:02 )
Между вопросом и собственным решением прошло 13 минут!
Вы никогда не пробовали сначала 15 минут самому поработать, а потом уже вопрос постить, а не наоборот?
да както так выходит, что 1-2-3 суток не получается, но стоит создать вопрос - как всё решается само)
хотя чтобы не создавать тем - тут спрошу
у меня заканчиваются аппаратные ресурсы платы
при подключении библиотек для СД - они зажирают почти 50%... что очень много
//что SD.h что SdFat.h - обе очень жирные
может подскажете простую и более легкую библиотеку
А что у Вас за плата и что за задача?
плата nano v3 (328p)
задача
1) - принимать ЖПС
2) - писать на СД карту трек (NMEA)
3) - выводить на 7 сигментный экран координаты, скорость и путь
//что выводить переклбчается кнопкой по кругу
но даже самый простейший вариант просто читать жпс и писать на карту (логер) занимает
плата nano v3 (328p)
задача
1) - принимать ЖПС
2) - писать на СД карту трек (NMEA)
3) - выводить на 7 сигментный экран координаты, скорость и путь
//что выводить переклбчается кнопкой по кругу
но даже самый простейший вариант просто читать жпс и писать на карту (логер) занимает
Мда...
Вы знаете. я как-то для своего внука готовил картинку. там правда не "Нано", а "Мега" и задача - аквариумами управлять, но Вы просто мысленно подставьте туда ТТХ "Наны" и свою задачу. Хуже картинка от этого не станет.
Надеюсь, Вам поможет. Парню моему реально помогло. Я прям заметил, как он стал серьёзнее и перестал говорить, что ему ресурсов не хватает:
я прекрасно понимаю это, но это АРДУИНО - система для "домохозяек"
я понимаю, что на нано может влезть 25 раз моя задача и она будет летать, если это сделают профи на ассемблере.....- но это уже будет не ардуина!
Я не прошу впихнуть невпихуемое, а всего навсего от профи по ардуине совета что и как можно сделать, дабы не использовать жирную и перегруженную функционалом стандартную библиотеку для СД карты
может вы знаете или можете направить на облегченную без всего лишнего библиотеку или пример кода как реализовать то, что мне надо менее ресурсоемким путем не выходя за рамки стандартного ардуиновского компилятора
Учимся пользоваться гуглом: https://www.google.ru/search?q=arduino+tiny+sd+library&rlz=1C1GGRV_enRU753RU753&oq=arduino+tiny+sd&aqs=chrome.1.69i57j0l5.7493j0j7&sourceid=chrome&ie=UTF-8
Вторая ссылка в выдаче: https://github.com/greiman/Fat16
Третья ссылка в выдаче: http://www.rinkydinkelectronics.com/library.php?id=37
Дальше за вас поискать, или таки сделаете над собой усилие?
профи на ассемблере.....
может вы знаете или можете направить на облегченную без всего лишнего библиотеку
Боюсь, что нет. Библиотеки я использую для первого включения устройства и запуска на нём "Hello World" и не более того. Для этого ресурсов всегда хватает. В "мало-мальские разработки" я стараюсь никаких библиотек не пихать, а пишу руками на, как Вы изволили выразиться, "стандартном ардуиновском компиляторе".
Так что никаких особых библиотек я не знаю, к сожалению. Мож кто другой чего посоветует.
ELITE. правильно ли я понял - что у вас семисегментник и еще ЛЕД-дисплей? А одним экраном обойтись нельзя?
Вообще семисегментные индикаторы - крайне хлопотная периферия. Как ни подключи - все варианты "так себе". Либо динамическая индикация, которая нагружает процессор, либо куча ног занята, либо сдвиговые регистры...
ELITE. правильно ли я понял - что у вас семисегментник и еще ЛЕД-дисплей? А одним экраном обойтись нельзя?
Вообще семисегментные индикаторы - крайне хлопотная периферия. Как ни подключи - все варианты "так себе". Либо динамическая индикация, которая нагружает процессор, либо куча ног занята, либо сдвиговые регистры...
пока только 7ми сигментный на регистре 7221 - проблем вообще не вызывает, работает стабильно и ничего не тормозит и ресурсов не жрет - библиотека легкая и простая. да их 2 стоит, но будет 3
также хочуОЛЕД дисплей еще поставить для вывода прочей информации, не требующей больших и ярких цифр - но на него ресурсов совсем не останется, хотя он по коду и нагрузке тоже весьма экономичен
динамичность вывода данных не высокая - 5к/с меня устраивает - по таймеру вывожу всё разом
----------
по СД пл ночи гуглил и пробовал - из десятка библиотек только PetitFS легкая, все остальные требует 50-70% ресурсов только на себя.... :(
но с PetitFS никак не видит флешку....
нашел вроде что надо но оно под визуал студио сделано
https://github.com/alemorf/VinxFS
вроде как должно очень мало весить и иметь нужный функционал
кто может помочь адаптировать под ардуино (елси не струдно - то с примером работы)
пол дня никак не получается ничего :(