Как сделать что бы приложения устанавливались на карту памяти на Android. Подключение sd карты к микроконтроллеру

К сожалению, нехватка места на внутреннем накопителе Android-устройств в последнее время ощущается достаточно сильно, ведь с развитием возможностей самой «операционки» многие программы и игры стали намного требовательней к свободным ресурсам и объему памяти гаджетов. Поэтому-то многие и пользуются съемными картами формата SD. Но вот Android-приложения на карту памяти устанавливаться желают не всегда.

Общие сведения об установке

В любой версии ОС «Андроид» установка приложений на карту памяти по умолчанию отключена. В принципе, если само устройство и версия ОС поддерживают эту возможность, как говорится, изобретать велосипед не потребуется. Немного покопавшись в настройках, можно выставить собственные параметры.

Это относительно недолгий и самый простой процесс, о котором будет сказано несколько позже. Можно установить приложения на карту памяти другими способами. Остановимся пока именно на этих ситуациях.

Загрузка приложений на карту памяти

Прежде чем решать проблему инсталляции, рассмотрим загрузку контента на съемный Дело в том, что в «Андроид» установка приложений на карту памяти в большинстве случаев должна находиться в тесной связи с процессом скачивания установочных дистрибутивов, поскольку они тоже могут иметь достаточно большие объемы.

Загрузку контента на карту SD поддерживают практически все Android-устройства вне зависимости от версии самой ОС или установленной прошивки. Для задания места сохранения файлов на карту памяти достаточно войти, например, в интернет-браузер и в расширенных настройках указать в качестве места хранения съемный носитель. Точно так же можно поступить и в случае создания фотографий, когда для настройки нужно использовать параметры самого приложения.

Можно поступить еще проще, скачивая приложения при помощи или ноутбука, а затем копируя их на SD-карту. В принципе, место загрузок можно изменить еще и в любом файловом менеджере.

Способы инсталляции и передислокации приложений на карты SD

Теперь о самом главном. Осуществить использование устанавливаемых или уже установленных приложений с карты памяти не так уж и сложно. Прежде всего нужно посмотреть, поддерживает ли само устройство такие возможности. Бывает и так, что перенос, а тем более установка, приложений на съемный носитель просто заблокирована производителем гаджета. Что делать в этом случае?

Для ОС «Андроид» установка приложений на карту памяти может осуществляться несколькими способами. К примеру, можно сначала инсталлировать программу или игру стандартным методом на внутренний накопитель, а затем перенести его в другое место (в данном случае на SD-карту).

Для непосредственной установки на карту можно использовать сторонние утилиты. Понятное дело, что создание приложений для Android в большинстве случаев подразумевает возможность их установки или переноса в другое место.

Использование системных настроек

Если уж возникает необходимость инсталляции приложения для Android именно на съемный носитель, сначала нужно учесть несколько аспектов. Первым делом необходимо зайти в настройки, где выбрать пункт «Приложения», а затем перейти в сами настройки для приложений. Тут имеется специальная строка «Перенести на SD-карту». Если устройство или установленное на внутреннюю память приложение поддерживает эту функцию, перенос будет произведен в течение пары минут, после чего для каждой перенесенной программы или игры появится активная кнопка «Переместить на телефон».

Как уже понятно, в ОС Android запуск приложения по окончании процесса переноса будет произведен именно с карты памяти.

Но не спешите радоваться. Иногда как сами мобильные устройства, так и создание приложений для Android использование таких функций просто не предусматривает. Кроме того, могут потребоваться даже root-права или использование режима «суперпользователя» (super user).

Лучшие программы

Программ для переноса или непосредственной или игр на съемные носители сегодня существует очень много. Как правило, практически все программы этого типа относятся к разряду freeware (бесплатные). Правда, здесь стоит обратить внимание и на то, что некоторые утилиты очень просты в использовании, а с некоторыми профессиональными программами придется повозиться, чтобы понять, что к чему.

Среди самых простых средств переноса программ на съемные носители можно отметить популярные пакеты типа AppMgr Pro.

Это приложение автоматически анализирует данные установленных приложений, а затем выдает результат в виде отсортированного списка, в котором отдельно указаны приложения для Android, которые можно без проблем перенести на карту памяти. После выбора необходимых приложений и подтверждения действий перенос будет осуществлен автоматически без всякого ущерба для системы.

Не менее интересной является утилита Link2SD. Но рядовому пользователю придется разбираться с ней достаточно долго, ведь потребуется разбивать карту на разделы с компьютера, например, используя программный пакет MiniTool Partition Wizard Home Edition, один из которых должен иметь (Primary), а второй - ext2 (в зависимости от устройства и версии «операционки» это может быть ext3/ext4). Именно во втором разделе и будут храниться переносимые или устанавливаемые программы.

Самым крайним случаем можно назвать использование мобильного устройства с подключением к компьютеру или ноутбуку через USB-интерфейс. Для установки приложений на карту памяти сначала нужно будет инсталлировать программу и на смартфон, и на компьютер. После подключения и синхронизации устанавливать приложения можно непосредственно из окна программы управления с компьютерного терминала.

Программных продуктов такого типа существует большое количество. Отдельно стоит выделить, скажем, Mobogenie или My Phone Explorer, причем вторая утилита поддерживает не только Android-устройства. Работать с такими программами достаточно просто. Нужно просто выбрать и указать место инсталляции программы (опять же если такая поддержка имеется и для устройства, и для программы).

Принудительная установка программ на карту памяти

В некоторых случаях можно попытаться применить еще один нестандартный способ. В «операционках» «Андроид» установка приложений на карту памяти таким методом называется принудительной.

Суть самого процесса заключается в установке на ПК программы ADB RUN. На смартфоне при подключении через USB-порт в обязательном порядке должна быть разрешена

После запуска приложения на компьютере нужно будет ввести следующие команды:

Su - если есть (если нет, команда пропускается).

pm getInstallLocation («0» по умолчанию).

pm getInstallLocation 1 - установка в собственную память устройства.

pm getInstallLocation 2 - установка на карту памяти.

pm getInstallLocation 0 - возврат к параметрам по умолчанию.

В принципе, команд немного, но сами видите, это не самый удобный способ. Хотя в некоторых случаях его можно использовать достаточно эффективно, когда другие методы не помогают.

Проблемы с работоспособностью приложений

Считается, что в ОС «Андроид» установка программ на карту памяти - это еще далеко не все. После установки или переноса приложения его нужно запустить и протестировать. Если запуска не происходит, или программа работает не так, как должна, придется повторить вышеописанные действия сначала. Можно попробовать перенести приложение в начальную локацию и проверить его работоспособность там. Если все нормально, значит дело либо в программе, либо в карте памяти, либо в неправильно выполненных операциях по переносу или установке.

Заключение

Подводя некий итог, можно сказать, что здесь были рассмотрены наиболее простые и распространенные способы переноса и установки приложений на съемные устройства памяти. Естественно, каждая утилита имеет свои особенности, равно как и переносимые или устанавливаемые программы. Даже разные модификации мобильных гаджетов, не говоря уже о версиях ОС Android или прошивках, могут играть весьма существенную роль. Но в большинстве случаев хотя бы один способ окажется для многих действенным.

SD и microSD карты могут существенно расширить возможности проектов ардуино, работающих с большими объемами данных: регистраторов данных, метеостанций, систем умного дома. Платы arduino оснащены сравнительно небольшой внутренней памятью, всего до 4 килобайт, включая и флэш-память, и EEPROM. Этой памяти не хватит для записи больших объемов данных, тем более, если плата будет постоянно выключаться или выключаться. Подключение SD карты ардуино в качестве внешнего накопителя позволяет многократно увеличить место для хранения любой информации. Съемные накопители SD стоят дешево, легко подключаются и удобны в использовании. О правильном подключении SD карты к Arduino и пойдет речь в статье.

Работа с памятью SD в ардуино не представляет особых трудностей. Самым простым способом является подключение готового модуля и использование стандартной библиотеки. С этого варианта мы и начнем.

Использование готового модуля обладает различными преимуществами. Это довольно простое и удобное средство для работы с большим объемом данных. Он не требует особых навыков в подключении, все разъемы подписаны прямо на плате. За удобство приходится платить, но стоимость модуля относительно не велика, его легко можно найти по доступным ценам в российских и зарубежных интернет-магазинах.

Универсальный модуль представляет собой обыкновенную плату, на которой помещены слот для карты, резисторы и регулятор напряжений. Он обладает следующими техническими характеристиками:

  • Диапазон рабочих напряжений 4,5-5 В;
  • Поддержка SD карты до 2 Гб;
  • Ток 80 мА;
  • Файловая система FAT 16.

Модуль SD-карты реализует такие функции как хранение, чтение и запись информации на карту, которая требуется для нормального функционирования прибора на базе микроконтроллера.


Естественно, у недорогих модулей карт памяти есть и недостатки. Например, самые дешевые и распространенные модели поддерживают только карты до 4Гб и почти все модули позволяют хранить на SD карте файлы объемом до двух гигабайт – это ограничение используемой в большинстве моделей файловой системы FAT.

Еще одним недостатком карт памяти является относительно долгое время записи, однако существуют пути работы с ней, позволяющие увеличить ее скорость работы. Для этого используется механизм кэширования, когда данные сначала копятся в оперативной памяти, а потом сбрасываются за раз на карту памяти.

Платы Arduino для работы с SD

Для работы с SD card существует несколько различных плат:

  • Arduino Ethernet – эта плата оснащена специальным модулем для вывода данных. Для выхода CS используется контакт 4. Для правильной работы нужно применять команду SD.begin(4).
  • Adafruit Micro-SD – это отладочная плата, которая используется при работе с Micro-SD картами.
  • Sparkfun SD – закрепляется сверху Ардуино, для выхода CS использует 8 контакт. В новой версии платы есть соединение с 3.3 В и встроен шестиразрядный инвертор.

Подключение SD и microSD к ардуино

Существует два вида карт – microSD и SD. Они одинаковы по подключению, структуре и программе, различаются же только размером. Перед работой советуется отформатировать карту SD. Обычно новые карты уже отформатированы и готовы к работе, но если используется старая карта, то лучше провести форматирование в файловой системе Arduino. Для проведения процедуры на компьютере должна быть установлена библиотека SD, желательно FAT16. Для форматирования на Windows нужно щелкнуть на иконке карты и нажать “Format”.

Для подключения карты используется 6 контактов, взаимодействие производится по интерфейсу SPI. Она выглядит на плате как разъем на лицевой поверхности с шестью штырями. Чтобы подключить карту, нужны сам контроллер, модуль карты и 6 проводов. Помимо SPI существует режим SDIO, но он сложен в реализации и слабо совместим с Ардуино. SPI легко налаживается для работы со всеми микроконтроллерами, поэтому советуется использовать именно его.

Подключение цифровых выводов производится так: для платы Arduino Nano или Uno контакт MOSI подключается к D11, MISO к D12,SCK к D13, CS к 4, VCC на +5 В,.GND к GND. На плате имеются разъемы для подключения к 3,3 и 5 вольтам. Питание самой карты составляет 3,3 вольт, поэтому проще применять микроконтроллер с таким же питанием, в ином случае нужен преобразователей уровней напряжения. На самых распространенных платах ардуино такой выход есть.

При подключении SD карты нужно учитывать соответствие SPI контактов для разных тип плат Arduino:

Библиотека ардуино для работы с SD и microSD

Для удобства работы с внешними накопителями данных в среде Arduino IDE доступны уже готовые библиотеки. Ничего дополнительно скачивать или устанавливать в большинстве случаев не понадобится.

Для подключения библиотеки в скетче нужно использовать инструкцию include:

#include #include

Библиотека SPI нужна для правильной работы устройств, подключаемых по SPI.

Библиотечные функции нужно для считывания и записи данных на карту. Библиотека может поддерживать SD и SDHC карты.

Имена записываются в формате 8.3, то есть 8 знаков для названия, 3 для расширения. Путь к файлу записывается с помощью слэшей «/».

Встроенные примеры библиотеки SD

В Arduino IDE встроены готовые примеры для быстрого изучение функций бибилотеки:

  • Card Info – это извлечение информации, хранящейся в SD карте. С ее помощью можно узнать, в какую файловую систему отформатирована карта, наличие свободного места, какие данные записаны.
  • Yun Datalogger – позволяет записывать лог-данные с трех сенсоров на карту.
  • Datalogger – регистрирует и созраняет данные, полученные с датчика на карту.
  • Dump File – считывание данные с карты, передает их в серийный порт.
  • Files – создает и удаляет данные. Существует функция file.write(), которая помещает записанные данные в буфер. Перемещение информации на карту происходит при вызове функций flush() или close(), поэтому важно закрывать его после каждого открытия файла, иначе данные будут потеряны.
  • Read Write – записывает и считывает файлы с карты.

Функции библиотеки SD

Ардуино-библиотека SD содержит различные функции, с помощью которыми можно управлять данными. Функции класса SD:

  • begin() – функция инициализирует библиотеку, присваивает контакт для сигнала.
  • exists() – призвана проверить, имеется ли на карте необходимая информация.
  • mkdir() – позволяет создать нужную папку на карте памяти.
  • rmdir() – с помощью этой функции можно удалить папку. Важно, чтобы удаляемая папка была пустой.
  • open() – позволяет открыть файл, который нужен для записи или чтения. Если нужный файл отсутствует на карте, то он будет создан.
  • remove() – удаляет любой файл.

В ответ на все эти функции должно прийти одно из значений – true, в случае удачного завершения операции и false при неудаче.

Создание, редактирование и удаление файлов.

Для работы с файлами в ардуино существует класс File. В него входят функции, которые предназначены для записи и чтения информации с карты:

  • available() – проверяет наличие в файле байт, которые доступны для чтения. В ответ приходит количество места, которое доступно для чтения.
  • close() – закрывает файл, перед эти проверяет, сохранены ли данные на карту.
  • flush() – функция позволяет убедиться, что данные записаны на карту.
  • name() – возвращает указатель на имя.
  • peek() – считывает байты данных, при этом не перемещает указатель на следующий символ.
  • position() – находит текущее положение указателя в файле.
  • print() – выводит данные в отдельный файл.
  • println() – печатает данные в файл до места, где появляется символ перевода каретки и пустая строка.
  • seek() – меняет положение текущей позиции в файле.
  • size() – выводит информацию о размере данных.
  • read() – считывает информацию.
  • write() – производит запись в файл.
  • isDirectory() – с помощью этого метода происходит проверка, является ли файл директорией, то есть каталогом или папкой.
  • openNextFile() – выводит имя последующего файла.
  • rewindDirectory() – возвращает к первому файлу в директории.

Для корректной работы платы нужно проследить, чтобы был сконфигурирован SS выход.

Скетч примера работы с SD библиотекой ардуино

Ниже приведен скетч, демонстрирующий пример работы с модулем карты памяти.

/* Регистратор данных с использованием SD карт Пример сохранения данных с аналоговых портов на SD карте. Данные будут сохраняться в файле в виде набора строк с разделителем полей в виде символа "," Схема подключения: * Аналоговые сенсоры подключаются к аналоговым пинам * Модуль SD карты подключен в SPI по стандартной схеме: ** MOSI - пин 11 ** MISO - пин12 ** CLK - пин 13 ** CS - pin 4 */ #include #include const int PIN_CHIP_SELECT = 4; void setup() { Serial.begin(9600); Serial.print("Initializing SD card..."); // Этот пин обязательно должен быть определен как OUTPUT pinMode(10, OUTPUT); // Пытаемся проинициализировать модуль if (!SD.begin(PIN_CHIP_SELECT)) { Serial.println("Card failed, or not present"); // Если что-то пошло не так, завершаем работу: return; } Serial.println("card initialized."); } void loop() { // Строка с данными, которые мы поместим в файл: String logStringData = ""; // Считываем данные с портов и записываем в строку for (int i = 0; i < 5; i++) { int sensor = analogRead(i); logStringData += String(sensor); if (i < 4) { logStringData += ","; } } // Открываем файл, но помним, что одновременно можно работать только с одним файлом. // Если файла с таким именем не будет, ардуино создаст его. File dataFile = SD.open("datalog.csv", FILE_WRITE); // Если все хорошо, то записываем строку: if (dataFile) { dataFile.println(logStringData); dataFile.close(); // Публикуем в мониторе порта для отладки Serial.println(logStringData); } else { // Сообщаем об ошибке, если все плохо Serial.println("error opening datalog.csv"); } }

Создание файла и выбор названия для arduino SD card

Создание файла – одна из самых распространенных задач, возникающих при работе с SD картами в ардуино. Как мы убедились в предыдущем скетче, для создания файла достаточно просто открыт его. Если мы захотим проверить, есть ли такой файл, можно использовать функцию exists():

  • SD.exists(“datalog.csv”);

Функция возвращает TRUE, если файл существует.

Популярной практикой при создании проектов – регистраторов данных является разбивка больших файлов на более мелкие, которые удобнее обновлять и открывать на компьютере. Например, вместо одного очень большого файла datalog.csv на SD карте можно иметь несколько маленьких, добавляя к концу номер по порядку: datalog01.csv, datalog02.csv и т.д.
Вот пример скетча, который поможет вам выполнить эту работу:

Char filename = "datalog00.CSV"; // Первоначальное название for (uint8_t i = 0; i < 100; i++) { filename = i / 10 + "0"; filename = i % 10 + "0"; if (! SD.exists(filename)) { // Проверяем наличие logfile = SD.open(filename, FILE_WRITE); break; // Дальше продолжать смысла нет } }

Заключение

Как мы с вами убедились, подключить SD карту памяти к Ардуино и использовать ее в проекте не очень сложно. Для этого есть готовые библиотеки в Arduino IDE и самые разнообразные варианты модулей. Приобрести карту памяти можно в любом магазине электроники, они стоят недорого, при этом позволяют существенно расширить потенциал платы Ардуино. С использованием карт памяти можно собирать и сохранять для последующего анализа большие объемы данных. С помощью нашей статьи мы сможете наделить памятью свои исследовательские проекты, создать системы голосового оповещения для умного дома, создать простой wav-проигрыватель и многое другое.

Что делать, если телефон не видит карту памяти? Поскольку мне часто задают этот и ему подобные вопросы, я ответил на все сразу в этой статье. Она будет полезна владельцам фотоаппаратов, телефонов Samsung, Lenovo, ноутбуков - в общем, всех тех устройств, которые поддерживают карту памяти и отказываются считывать данные на карточке.

Для начала - некоторые технические подробности, описывающие проблему. Скажем, в результате неких манипуляций мобильное устройство (телефон, планшет, смартфон) перестало идентифицировать карту памяти (sd-карту) даже через картридер. Все данные записываются во , минуя собственно карту памяти. Это неудобно, поскольку sd-карта не используется, в то время как память мобильного устройства стремительно забивается. Производительность, соответственно, уменьшается.

Итак, проблема детально описана, переходим к диагностике телефона, смартфона, планшета. Рассмотрим наиболее частые причины, почему телефоны не видят карту памяти (флешку) и как устранить данный дефект собственными силами, используя картридер.

Телефон не видит sd карту из-за неправильного формата файловой системы или поврежденной таблицы файлов

Причина проблемы . 1) На sd-карте повредилась файловая таблица, слетела разметка. 2) Вы самостоятельно отформатировали карту памяти, вследствие чего телефон перестал видеть флешку. 3) Файловая система sd-карты неизвестна (использовалась в другой операционной системе)

Как исправить. 1. Узнайте размер вашей флешки. Если вместимость microSD больше 32 Gb, скорее всего, она отформатирована в exFAT. Не все версии Android поддерживают данную файловую систему.

2. Быстрый способ исправить проблему - перезагрузить телефон в режиме recovery и в сервисном меню Android выбрать опцию Wipe cache partition. Эта команда очистит содержимое sd-карты и выполнит форматирование носителя в файловой системе FAT32 - она лучше всего подходит для хранения файлов на телефоне.

Примечание . Мы бы не советовали выполнять эту процедуру неопытным пользователям: если ошибочно отформатируете не тот раздел - потеряете все данные на телефоне, включая файлы во внутренней памяти.

3. Более безопасный (и удобный) метод форматирования sd-карты - через компьютер. Вам понадобится картридер и программа SD Formatter. Она поможет отформатировать флешку как следует.

4. Можно попробовать низкоуровневое форматирование - однако не все производители предлагают свой софт для этого (проверьте на сайте карты памяти).

Карта памяти телефона (планшета) вышла из строя

Причина проблемы . В результате механических / термальных повреждений, несовместимых с жизнью, телефон перестал видеть карту памяти или sd карта перестала работать. Как вариант - телефон перестал определять флешку, на других устройствах карточка также нечитабельна.

Что делать . Увы, сделать с испорченной sd картой ничего нельзя. Вам остается приобрести новую sd-карточку, совместимую по объему и спецификациям с вашим смартфоном или планшетом. Самый неприятный момент - все данные, которые хранились на карте памяти телефона Android или iOS, пропадают окончательно. Восстановить их вы уже не сможете - ни подключив телефон с флешкой через USB, ни через картридер.

Если у флешки сохранилась гарантия и при этом она выглядит как новая (нет видимых повредлений), попробуйте вернуть ее в магазин. Если повезет - получите новеньуку карточку на замену.

Проверьте на сбойные блоки (bad сектора) через HDDScan

Проблема вдвойне неприятная, т.к телефон куплен месяц назад. Решил перенести некоторые аудио-видеофайлы со старого телефона. Новый смартфон - j7, а старый - также Samsung Galaxy Grand Neo… Перенос данных прошел без внештатных ситуаций.

Примерно через недельку заглянул на sd, и карта не отобразилась из родных "мои файлы". Заглянул через , через файловый проводник xplore. Там все папки отобразились, но оказались пустыми. Но важно вот что добавить: и в памяти телефона лежали музыка и немного видео. Так вот, и они отобразились, но не были "пустыми", а отказывались воспроизводиться - "ошибка воспроизведения". На старом телефоне с любыми sd и разной старости такого никогда не было, уж что было, но не это. И эта записанная карта нормально читается на старом телефоне, нет проблем.

Для меня главное, как вы понимаете, вопрос - телефон, в нем причина? Такие отказы в прочтении за месяц были два раза с внутренней памятью, и раза четыре с сидишной. Перезагрузишь – и все нормально. Но это совсем не норма для телефона?

Ответ . Причин такого поведения может быть несколько.

Возможно, причина ошибки кроется в вашем способе копирования файлов из внутренней памяти во внешнюю. Пробуйте разные способы и тестируйте: например, через картридер на ПК, через файловый менеджер на телефоне и т. д. Во всех ли случаях наблюдается описываемая ошибка чтения?

Впрочем, поскольку вы отметили, что проблем с другими флешками нет,то, возможно, проблема с картой памяти. Кто производитель, совместима ли sd карта с моделью вашего телефона? Почитайте отзывы пользователей.

Третье - обновите ПО на телефоне и .

Четвертое - утилитой SD Formatter. Пробуйте разные форматы файловых систем.

1. Последний шанс найти ответ моей проблеме. Телефон Samsung galaxy not 5 (china) использует только свою внутреннюю память, а флешка не определяется. Что я только не делал... И галочки ставил, и в другой мобильный телефон вставлял, форматировал и так и сяк - не помогает.

2. На телефоне Samsung Galaxy A 3 не работает карта памяти microsd объемом 16 гб. Почти полгода она находилась в телефоне, все фото с камеры автоматически сохранялись на ней. Карта памяти не вынималась с того времени, как один раз поставили ее в гнездо. Телефоном пользуюсь почти год. Ранее стояла другая карта, объемом 8 гб.

Р. S Переставила карту в другой телефон - он ее тоже не видит. И комп тоже не распознает. Что делать? На флешке все детские фото и видео, снятые за полгода.

Ответ . Если смартфон или планшет не видит флешку, возможно, проблема в приложении, которое не сохраняет файлы туда, куда нужно. Проверьте в настройках, куда сохраняются файлы - на sd карту, флешку или во внутреннюю память планшета/смартфона. Например, в настройках Галереи Андроид можно изменить место хранения фото.

Перечитайте статью. Если ничего не помогает, то, возможно, телефон не видит карту памяти microsd, поскольку она вышла из строя.

Телефон не определяет карту памяти. Перенесла всё на внутреннюю память. При отключении карты все файлы читаются, а при подключении нет. Сейчас при отключении SD-карты отключается и внутренняя память и некуда сохранять информацию. Подскажите, что можно сделать, если не читается карта памяти (если это возможно).

Ответ . До этого времени карта памяти работала? Возможно, телефон не поддерживает данную модель карточки.

Если до этого sd карта работала, возможно, нужно отформатировать вашу карточку - и она снова будет доступна для записи.

Вопрос сформулирован некорректно: вы пишете, что при отключении карты памяти файлы читаются, при этом вы ниже говорите, что внутренняя память отключается. Так откуда же тогда читаются файлы?

1. Телефон работал с картой памяти. С поздравительным видео прислали . Удаляешь - он снова появлялся. Пыталась перепрошить телефон, но не получилось. Обновлений он не обнаруживал. После каких-то манипуляций в меню recovery он стал другим, обнаружил обновления, скачал и установил их. Прошивку показывает свою, но с датой посвежее.

После этого не определяется sd карта. Андроид не видит её и свою память не определяет. И другие sd тоже. Без карты телефон видит свою память и работает отлично. Что делать, если телефон не видит sd карту после действий вируса?

2. В комп поставила sd карту - там все хорошо читает, видно. А в телефоне выходит надпись: БЕЗОПАСНОЕ УДАЛЕНИЕ КАРТЫ. Почему телефон не видит карту памяти? Что делать?

Ответ . Если телефон не видит карту памяти, это может быть связано с повреждением файловой таблицы на ней. Как это связано с рекавери, непонятно. Попробуйте отформатировать sd карту. Если ничего не изменится в лучшую сторону - поменяйте прошивку.

1. Купил микро флешку 4Г в телефон, установил в комп через картридер, раписал файлы и установил в телефон (Microsoft Lumia 530). Через некоторое время опять установил в кардридер и подключил к компу. Windows выдала сообщение, что устройство неисправно и не читает флешку, но через телефон исправно все работает. И так происходит со всеми usb носителями и устройствами. Проверял flash на многих компах до установки в телефон - все Ок. После установки карта памяти не работает на компьютере - только через телефон.

2. Заказала флешку на ebay (флешка универсальная i - flash device ). Вчера получила, вставила в телефон - работает, на компьютере тоже работает. Сегодня попыталась перекинуть видео с телефона на флешку, началось копирование, я оставила телефон и отлучилась. По возвращению обнаружила, что программа закрыта, а флешка уже не определяется на телефоне, также не определяет ее компьютер. Что делать?

3. Купил флэшку в телефон с АлиЭкспресса на 32 Гб. Работала нормально, потом фотографии, которые сохранялись на неё наполовину обрезались либо вместо них серый экран был. В конечном итоге перестала обнаруживаться телефоном. Компьютер вроде и обнаруживает её, но не отрывает. Пишет что-то вроде "вставьте диск". Перепробовал много чего, что было написано в интернете, много программ. Некоторые не видят флэшку, некоторые видят, но форматировать её всё равно не могут. Подскажите, как её привести в чувства.

Ответ . Отформатируйте флешку через телефон или Recovery (об этом мы писали в начале публикации. Если не поможет, зайдите в Управление дисками Windows и проверьте, монтируется ли флешка при подключении к ПК, отображается ли том в списке. При необходимости на флешке можно создать новый раздел и отформатировать в FAT или extFAT при помощи специализированных программ.

Включаю музыку на телефоне, он пишет: нет музыкальных файлов. Телефон nokia RM-1035 и mirex micro sd (HC) class 4, вчера все работало. Наверное, карта памяти не читается! Как узнать, рабочая она или нет?

Ответ . Проверьте, видят ли другим мобильные приложения содержимое карты памяти, для этого можно установить другой проигрыватель. Подключите microsd карточку к компьютеру или ноутбуку через картридер. Если в обоих случаях флешка недоступна, попробуйте другие методы, описанные в статье.

Телефон Samsung Galaxy A3 2015 не считывает флешку. Отформатировал во всех возможных форматах, но так и не помогло. Подключал к ПК - всё прекрасно работает. Почему телефон не видит флешку? Может что то в настройках телефона нужно поменять?

Ответ . Зайдите в Настройки - Память. Проверьте раздел "Карта памяти SD". Установите файловый менеджер и посмотрите, отображаются ли файлы карты памяти на ней.

Помимо стандартного форматирования, можно попробовать низкоуровневое - правда, не все производители предлагают свой софт для этого (проверьте на сайте карты памяти).

Еще одной из причин, почему телефон не видит sd карту, может быть отсутствие контакта между картой памяти и телефоном. Проверьте, читает ли ваш девайс другие флешки. Если нет - несите телефон в ремонт.

Телефон Doogee x5. Карту памяти телефон не видел, но она там стояла. Случайно был произведён перенос данных на внешнюю память. Перенос отчего-то был совершен, но карта была по-прежнему невидима. Картинки, видео, музыка, благополучно куда-то исчезли. Как их добыть обратно и почему телефон не видит карту памяти? Можно ли восстановить это все как-то? Пробовала Android Recovery - без толку.

Ответ . Если телефон не видет sd-карту, тогда как вы перенесли на нее файлы? Возможно, вы их просто скопировали в другое место.

Попробуйте подключить карту памяти через картридер к компьютеру и просканировать программой CardRecovery. Что касается Android Data Recovery, то эта программа менее функциональна.

После отключения sd карты для работы в aparted и проведения в ней манипуляций, в телефоне prestigio не включить карту sd вновь. Кстати, ноутбук не видит карту памяти тоже. Действия в recovery не помогли. Что делать если телефон не видит карту памяти?

Ответ . Возможно, операционная система и ноутбук видят sd карту, но слетела разметка. Вам нужно создать том на неразмеченном пространстве. Пуск – Выполнить – diskmgmt.msc. Найдите неразмеченную область и через контекстное меню создайте на sd карте новый том, назначьте букву, примените форматирование. Диск sd-карты после этих манипуляций должен определяться как прежде.

Я подключил фотоаппарат как в инструкции (через USB-порт), но фотоаппарат читает как Портативное устройство, а надо Съемный диск. Фотоаппарат не видит карту памяти в режиме подключения или в чем проблема? Как можно изменить отображение? Фотоаппарат Nikon Coolpix S9400.

Ответ . Ваш фотопаапарат поддерживает карты памяти SD, SDHC и SDXC. Компьютер не видит карту памяти как накопитель. Вам нужно извлечь карту из камеры и подключить ее к ПК через картридер. Если у вас картридер встроен в ноутбук – подключить карточку будет еще проще. После этого вы увидите съемный диск в списке.

mico sd 32G в планшете Андроид. передёрну в разъёме – всё ок, но через некоторое время её не видит проводник и через меню настройки, память сд карта не включается. если вытащил и вставил карту памяти – она появляется. Контакты чистил, протёр ректификатом, но все равно Android не видит sd карту где зарыта собака?

Ответ . Попробуйте протестировать другую sd-карту с вашим телефоном. Если ситуация повторяется и смартфон не видит флешку (карта памяти отпадает время от времени) – скорее всего, дело в контактах телефона.

Если же другая карта памяти работает без ошибок, советуем отформатировать проблемную карточку в FAT32 или exFAT – на случай, если телефон не видит флешку микро сд из-за ошибок в файловой таблице.

Телефон (Samsung Galaxy S5) не читает карту памяти. Вставлял три карты, и ни одну не читает, хотя на других устройствах они корректно отображаются. При этом надпись "Подключить SD-карту", шрифт которой до этого был серого цвета, становится белым и доступным к нажатию, но если нажимаешь- ничего не происходит. Все фото и картинки в галерее (находящиеся в памяти телефона) не отображаются. И приложения, находящиеся не во внутренней памяти, а в памяти телефона, не открываются. Подскажите, что делать?

Ответ . Возможен сбой на уровне операционной системы Android или установленных приложений. Попробуйте вручную устранить конфликт, удалив все ненужные приложения с телефона. Обновите версию ОС до последней через настройки Андроид.

Если все равно карту памяти телефон не видит, проверьте контакты телефона: нет ли визуально заметных повреждений на них?

Вы пишете "на других устройствах", имея в виду компьютер? Если да, вполне вероятно, что файловая система у флешки NTFS, а нужно отформатировать ее в FAT или exFat.

Когда вставляю в телефон sd карту, устройство ее не определяет. Что только ни пробовал: даже в другие телефоны вставлял, все равно не видит и не читает ее содержимое.

Ответ . Слишком мало информации о карте памяти (ее практически нет), чтобы давать конкретные советы. Для начала проверьте, поддерживает ли телефон sd карты того объема, который имеется на вашей карточке (см. документацию к смартфону или планшету). Если вы только что купили карту памяти, можете обменять ее по гарантии на другую - меньшего объема.

Если вы до этого пользовались этой картой памяти и она перестала определяться на этом и других мобильных устройствах - скорее всего, она вышла из строя.

1. Я почистила сиди карту на компьютере. Удалила все с неё. Сейчас новый смартфон teXet X-plus TM-5577. Сиди карту я вставила, он видит её, но на сиди карту ничего не качается и перенести на неё я ничего не могу. Подскажите, что делать?

2. Телефон начал включаться сам по себе периодически (Lenovo A 526). Потом я вышел из дома и воткнул наушники и заметил, что ни один трек не играет. Позже когда я достал телефон я обнаружил, что флешка не читается и сохранённая музыка не играет. Перезагружать телефон пробовал - не помогает, в кардридер сунул - он видит карту памяти, другу в телефон поставил - тоже. А у меня никак не хочет. А самое главное что сбивает меня с мыслей это уведомление после включения телефона с фразой "Демонтируйте MicroSD перед удалением, чтобы не потерять данные.

Ответ . Вас нужно снова подключить карту памяти к компьютеру (как вы делали до этого), отформатировать sd карту стандартным способом (например, через Проводник) или с помощью sdformatter. Файловая система - FAT32. Скорее всего, именно из-за неправильного форматирования телефон не может записать данные на карту памяти.

После внезапного самовыключения, планшет (андроид 5.1) перестал нормально распознавать карты памяти в кардридере. Пишет либо идет проверка ошибок, либо идет чтение, которое длится до бесконечности. При этом перестают отвечать половина программ, все дико тормозит, и выключить планшет становится невозможно (только при разряжении в 0 и его вырубании). Иногда (очень редко) после подключения, он ее видит, но при малейшей манипуляции с картой (даже просмотром фото), тут же ее теряет и начинает перечитывать заново, и уже с концами. Проверено на 3 флешках, и чистых, и нет, с разными форматированиями и кучей танцев с бубнами (все по рекомендациям на форумах). Делался откат системы. Ничего не помогло. Карту на 8 гигов он отказывается видеть вообще, хотя если подключить ее через переходник к usb разъему - все прекрасно работает (как и остальные флешки). В чем все таки проблема, в кардридере или в системе?

Ответ . Лучше всего подключить проблемную карту памяти к ноутбуку или, как вариант, через переходник к usb, как вы упомянули. Далее sd карту нужно отформатировать.

Скорее всего, дело в картридере. Многие дешевые картридеры спустя непродолжительное время перестают корректно считывать карты памяти и выдают ошибки копирования или считывают информацию медленно.

Система (Android) вряд ли имеет отношение к проблеме, раз уж вы успели протестировать несколько карт памяти. Возможно, дело в конкретном приложении, которое тормозит систему, но вычислить это можно только при сбросе телефона до заводских настроек.

Телефон Lenovo vibe shot, android 6. стоит sony sd карта 32gb в опции как расширение основной памяти (ext4). Телефон перестал видеть файловую систему - пишет SdCard0 01.01.1970, 00 кб. Windows 7 видит два раздела - 16Мб и 30Гб, исправны, свободно 100% каждый.

Как можно вернуть все на место с восстановлением прежних файлов? ну или хотя бы как выдернуть фотографии и папку ватсап?

Ответ . Для восстановления удаленного раздела на sd-карте подойдут программы R.saver или AOMEI Partition Assistant Standard Edition. Если файловая таблица на разделах содержит ошибки, можно попробовать исправить их с помощью утилиты chkdsk под Windows. Если не поможет, попробуйте просканировать sd-карту (разделы, которые не читаются) утилитой Recuva. До момента, пока вы не перезаписали информацию на флешке или не отформатировали ее, шансы вернуть файлы остаются высокими.

Samsung A3 2017г. Карта памяти самсунг 64 гб. С компа создал папки: фото, рингноты, музыка, видео, кино и т.д. Телефон видит только аудио, картинки, документы, видео. Других папок не видит на карте памяти. Что необходимо сделать?

Ответ . Установите любой файловый менеджер для телефона (например, Total Commander или ES Explorer). Создайте папки напрямую через эти программы и скопируйте туда все, что нужно. Файлы должны читаться на карте памяти без проблем. Также возможно, что те папки, которые не читаются с sd-карты, скрыты или повреждены. Так что будет не лишним отформатировать карточку во избежание дальнейших ошибок.

Телефон Lenovo A2010 не видит sd карту памяти. пыталась перезагрузить, пишет "Доступна только одна sd карта, невозможно выполнить переключения". В других телефонах отсутствует карта. В компьютере через картридер вообще не показывает. Неужели это конец, столько фото и видео пропало? Может можно что нибудь предпринять?

Ответ . Похоже, что на карточке появились ошибки чтения или слетела разметка. Поскольку карта памяти не открывается на компьютере (т. е. не отображается буква / отдельный диск в файловом менеджере), есть смысл проверить, определяется ли карта памяти как устройство вообще. Для этого зайдите в diskmgmt.msc (Пуск - Выполнить) и посмотрите, появляется ли неразмеченное пространство при подсоединении sd-карточки к ПК. Если появляется, создайте новый файловый том в этом пространстве через контекстное меню. Если ничего не происходит – скорее всего, sd-карта вышла из строя.

Модель телефона sony xperia m4 aqua dual. В течении двух лет в телефоне была установлена карта памяти microSD. Недавно начали происходить сбои: сначала для того, чтобы карта памяти заработала, достаточно было перезагрузить телефон. Сейчас телефон карту совсем перестал видеть. Форматировать не получилось. Установили новую. Телефон ее распознает (в настройках есть, фотографии удалось переслать на карту), однако приложения загружать из плеймаркета не получается (все равно показывает вариант загрузки только в память телефона) . Что необходимо сделать в этой ситуации с флешкой?

Ответ . Отформатируйте карту памяти специализированными приложениями – тот же SDFortatter вполне подойдет. Далее проверьте карточку на ошибки через инструмент chkdsk.

Однако вы уточнили, что смена карты памяти не помогает. Проблема может быть вызвана конкретными приложениями или программными конфликтами внутри ОС Android. Советуем в таком случае обновить прошивку или, как крайний вариант, сбросить телефон (выполнить hard reset).

Samsung A5 2017 после шифрования сд карты перестал её видеть. Через карт-ридер на компе видит, но не открывается. Пытался отформатировать (SDFormatter, cmd) – не даёт. Другие флешки видит. На ошибки проверял – выдаёт ошибку, но не исправляет.

Ответ . Для проверки sd карты используйте следующие параметры:

chkdsk (буква диска): /f/r

  • /f - исправить ошибки чтения файловой системы
  • /r - исправить поврежденные сектора на sd карте

Это должно исправить ошибки и позволит отформатировать sd-карту стандартным способом или через утилиты вроде SDFormatter.

имеется usb-накопитель Кингстон DTSE3 на 16G, комп ее не видит, флешка не читаема. периодически система выдает сообщение о том, что устройство может работать быстрее или . есть ли программы по восстановлению?

Ответ . Флешка поддерживает интерфейс USB 2.0. Ваш компьютер (материнская плата) может иметь более старую версию портов, из-за чего появляется подобное сообщение. Поэтому советуем обновить железо своего ПК, если вы давно это не делали.

Программы для восстановления вам не помогут, а вот правильное форматирование флешки (в NTFS/FAT) и последующая проверка на ошибки через chkdsk не помешают.

Планшет samsung galaxy tab 4 SM-T331 не видит сд карту. доступно места 0б, свободно 0б. и вот эту же сд карту вставил в другое устройство, в свой телефон, и видит сд карту: доступно 14,57 свободно 14,57. другую сд карту вставляю в планшет – опять не видит, а телефон видит.

Ответ . Если на карте памяти есть важные файлы – сделайте их копию на компьютере. После этого отформатируйте карту памяти и проверьте ее на ошибки. Если все в порядке, можно пользоваться sd картой на планшете или телефоне, записывать на нее файлы. Если ситуация повторяется – обновите прошивку планшета или выполните hard reset. Однако это уже крайняя мера, советуем для начала разобраться с ошибками чтения.

Сделала карту памяти внутренним накопителем на ZTE blade A 510. После сброса настроек на телефоне (sd карта все это время была в телефоне) она перестала работать на всех устройствах, Андроид не сохраняет на нее.

Ответ . Вам нужно снова отформатировать и смонтировать microSD как внутренний накопитель. Если карта памяти открывается на компьютере, перенесите все данные на ней на жесткий диск.

У меня Samsung Galaxy S4 NEO. Я купил карту памяти на 16 гигов, но после 5 месяцев использования она в один момент перестала видеть все игры, которые были на ней. А видео, фотки и всё остальное телефон без проблем видит. В настройках > память > карта памяти написан общий объем, свободное место - в общем, всё как обычно. Помогите с этой проблемой!

Ответ . Самый простой способ - переустановить игры. Сделать это можно через приложение Google Play . Если пользовательские данные все еще хранятся в памяти телефона или на sd -карте, игры будут работать как прежде. Если нет - попробуйте их восстановить через соответствующие recovery-приложения.

Мы выводили картинку на дисплей с sd карточки, но в ней были упущены некоторые моменты, первый - подключение самой карточки, второй - была рассмотрена лишь часть функций библиотеки Petit FatFs , давайте остановимся на этих моментах подробнее.

Общение с карточкой возможно по одному из двух интерфейсов, SPI или SD .



Надо сказать, что SD интерфейс может работать в однобитном и четырёхбитном режимах.

Схема подключения карточки по SPI стандартная и выглядит следующим образом, не используемые выводы карточки нужно с помощью резистора 10К подтянуть к питанию.


Но в любительских конструкциях зачастую пренебрегают подтягивающими резисторами, упрощая схему подключения.

Надо отметить, что при подключении по SPI карточка очень требовательна к напряжению питания и небольшая просадка питающего напряжения приводит к неработоспособности карточки, это проверено на личном опыте, по поводу SD интерфейса сказать нечего, ещё не пробовал. Это всё писал к тому, что по питанию обязательно ставить конденсаторы . Что касается дросселя, он должен быть рассчитан на ток до 100мА, но ставить его необязательно.

На схемах, изображённых выше видно, что для работы карточке необходимо 3.3 вольта, соответственно, в линиях передачи данных напряжение не должно выходить за диапазон 0 – 3.3 вольт и тут возникает вопрос, что делать если МК питается от 5 вольт?
Ответ прост, надо согласовать линии передачи данных, а сделать это можно с помощью обычного резистивного делителя.


На схеме видно, что линию MISO согласовывать не надо так, как по этой линии данные передаются от карточки к МК .
На самом деле, мало кто подключает карточку напрямую к МК, гораздо удобнее подключить к МК разъём для карточки или купить шилд с разъемом и всей необходимой обвязкой.

С подключением разобрались, давайте теперь рассмотрим как пользоваться библиотекой Petit FatFs , которая предназначена для 8-битных микроконтроллеров с малым размером памяти.

Библиотека состоит из 5 файлов:
integer.h - заголовочный файл в котором описаны основные типы данных.

diskio.h - заголовочный файл в котором объявлены прототипы низкоуровневых функций для работы с диском и статусные коды, которые они возвращают.

diskio.c - в этом файле должны быть реализованы низкоуровневые функции, изначально там "заглушки".

pffсonf.h - конфигурационный файл.

pff.h - заголовочный файл в котором объявлены прототипы функций взаимодействия с файловой системой диска.

pff.c - файл содержит реализации функций для взаимодействия с файловой системой диска.

Видно, что для того чтобы библиотека заработала необходимо реализовать низкоуровневые функции. Но если речь идет о AVR или PIC, для них сайте можно скачать пример работы с библиотекой, в котором есть файл mmc , в нем уже реализованы низкоуровневые функции. Также необходимо задать конфигурацию библиотеки в файле pff.h и написать функции необходимые для работы SPI.

Функции Petit FatFs.

FRESULT pf_mount (FATFS*) - функция монтирует/демонтирует диск. Эту функцию необходимо вызывать до начала работы с диском, если вызвать функцию с нулевым указателем диск демонтируется. Функция может быть вызвана в любой момент времени.

Параметры
FATFS* fs - указатель на объект типа FATFS, описание этой структуры можно посмотреть в файле pff.h. Нам надо всего лишь объявить переменную такого типа.

Возвращаемые значения:
FR_OK (0)
FR_NOT_READY - устройство не может быть инициализировано
FR_DISK_ERR - возникла ошибка во время чтения с диска
FR_NO_FILESYSTEM - на диске нет правильного раздела FAT

FATFS fs;//объявляем объект типа FATFS //монтируем диск if (pf_mount(&fs) == FR_OK) { //диск смонтирован, работаем с ним //демонтируем диск pf_mount(NULL); } else { //не удалось смонтировать диск }

FRESULT pf_open (const char* path) - функция открывает существующий файл. После того как файл открыт с ним можно работать, то есть читать из него и записывать в него. С открытым файлом можно работать до тех пор, пока не будет открыт другой файл. Функция может быть вызвана в любой момент времени.

Параметры
const char* path - указатель на строку, указывающую путь к файлу. Путь надо указывать полностью относительно корневой директории, разделяя директории слэшем.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_NO_FILE - файл не найден
FR_DISK_ERR - ошибка диска
FR_NOT_ENABLED - диск не был смонтирован

FATFS fs;//объявляем объект типа FATFS //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в корневой директории if(pf_open("hello.txt") == FR_OK) { //делаем что-то } //открываем файл лежащий в папке new if(pf_open("new/hello.txt") == FR_OK) { //делаем что-то } //демонтируем диск pf_mount(NULL); } else { //не удалось смонтировать диск }

FRESULT pf_read(void* buff, WORD btr, WORD* br) - функция читает указанное количество байт из файла и сохраняет их в буфер. Если количество прочитанных байт меньше чем указано, значит был достигнут конец файла.
#define _USE_READ 1

Параметры:
void* buff - указатель на буфер, в котором сохраняются прочитанные данные
WORD btr - количество байт, которые нужно прочитать
WORD* br - указатель на переменную, в которой хранится количество прочитанных байт.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - файл не был открыт
FR_NOT_ENABLED - диск не был смонтирован

FATFS fs;//объявляем объект типа FATFS BYTE buff;//буфер для чтения файла WORD br; //счетчик прочитанных байт //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в корневой директории if(pf_open("hello.txt") == FR_OK) { //читаем из него 10 байт pf_read(buff, 10, &br); if(br != 10) { //если br не равно 10 //значит мы достигли конца файла } } }

FRESULT pf_write(const void* buff, WORD btw, WORD* bw) - функция позволяет записывать данные в открытый файл. Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_WRITE 1

Параметры:
void* buff - указатель на буфер, который хотим записать, нулевое значение финализирует запись
WORD btw - количество байт, которые хотим записать
WORD* bw - указатель на переменную, хранящий количество байт, которые удалось записать. Анализируя, эту переменную можно узнать был ли достигнут конец файла.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - файл не был открыт
FR_NOT_ENABLED - диск не был смонтирован

Из-за того, что библиотека рассчитана на микроконтроллеры с малым объемом памяти, эта функция имеет ряд ограничений:

  • нельзя создавать новые файлы, а записывать можно только в существующие
  • нельзя увеличивать размер файла
  • нельзя обновить временную метку
  • операцию записи можно начать/остановить только на границе сектора
  • файловый атрибут "только для чтения" не может запретить запись

Для того чтобы понять предпоследний пункт, надо знать, что память карточки разбита на блоки(сектора) по 512 байт и запись можно начать только с начала сектора . Таким образом если мы хотим записать 1000 байт, то первый сектор запишется полностью, а во второй запишется только 488 байт, а оставшиеся 24 байта заполнятся нулями.

Для записи в открытый файл надо выполнить следующие действия:

  • установить указатель на границу сектора, если установить не на границу, то указатель будет округлен до нижней границы сектора
  • вызвать функцию записи нужное количество раз
  • финализировать запись, вызвав функцию с нулевым указателем

Для того, чтобы привести пример работы функции записи необходимо рассмотреть ещё одну функцию.

FRESULT pf_lseek(DWORD offset) - устанавливает указатель чтения/записи в открытом файле. Устанавливать указатель можно абсолютным или относительным смещением, для абсолютного смещения необходимо передать в функцию число
pf_lseek(5000);
для относительного, передать значение указателя на текущую позицию fs.fptr и величину смещения
pf_lseek(fs.fptr + 3000);
Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_LSEEK 1

Параметры:
DWORD offset - количество байт, на которые нужно сместить указатель.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - файл не был открыт

Записать данные в файл можно следующим образом.
FATFS fs;//объявляем объект типа FATFS BYTE buff;//буфер для чтения файла WORD br; //счетчик прочитанных байт //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в корневой директории if(pf_open("hello.txt") == FR_OK) { //устанавливаем указатель на первый сектор pf_lseek(0); //записываем pf_write(buff, 10, &br); //финализируем запись pf_write(0, 0, &br); } }

Также оставляю тут кусок реально работающего кода, в котором используются все выше описанные функции.
#define F_CPU 8000000UL #define buff_size 10 #include #include #include "diskio.h" #include "pff.h" #include "spi.h" FATFS fs;//объявляем объект типа FATFS BYTE read_buff;//буфер для чтения файла BYTE write_buff = "hello word";////буфер для записи в файл UINT br; //счетчик прочитанных байт int main(void) { //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в папке new if(pf_open("new/hello.txt") == FR_OK) { //устанавливаем указатель записи pf_lseek(0); //записываем pf_write(write_buff, buff_size, &br); //финализируем запись pf_write(0, 0, &br); //устанавливаем указатель чтения pf_lseek(0); //читаем то, что записали pf_read(read_buff, buff_size, &br); if(br != buff_size) { //если br не равно buff_size //значит мы достигли конца файла } } //демонтируем диск pf_mount(NULL); } while(1) { } }

FRESULT pf_opendir(DIR* dp, const char * path) - функция открывает существующую директорию и создает указатель на объект типа DIR, который будет использоваться для получения списка файлов открытой директории.
Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_DIR 1

Параметры:
DIR *dp - указатель на переменную типа DIR.

const char * path - указатель на строку, которая содержит путь к директории, директории разделяются слэшем

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_NO_PATH - не удалось найти путь
FR_NOT_READY - не удалось инициализировать диск
FR_DISK_ERR - ошибка диска
FR_NOT_ENABLED - диск не был смонтирован

//объявляем переменные FATFS fs; DIR dir; //монтируем диск pf_mount(&fs); //открываем директорию pf_opendir(&dir, "MY_FOLDER");

FRESULT pf_readdir(DIR* dp, FILINFO* fno) - функцию позволяет прочитать содержимое директории. Для этого нужно открыть директорию с помощью функции pf_opendir() и вызывать pf_readdir(). Каждый раз при вызове функция будет возвращать название объекта(папки/файла) лежащего в указанной директории. Когда она пройдется по всем объектам, вернет нулевую строку в элементе массива fno.fname.
Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_DIR 1

Параметры:
DIR *dp - указатель на переменную типа DIR, которая должна быть предварительно объявлена

FILINFO *fno - указатель на переменную типа FILINFO, которая должна быть предварительно объявлена.

Возвращаемые значения:
FR_OK - успешное завершение функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - не открыта директория

FATFS fs; FRESULT res; FILINFO fno; DIR dir; //монтируем диск pf_mount(&fs); //открываем директорию res = pf_opendir(&dir, MY_FOLDER); //читаем содержимое директории for(;;){ res = pf_readdir(&dir, &fno); //проверяем не возникло ли ошибок при чтении // и есть ли еще файлы в указанной директории if ((res != FR_OK) || (fno.fname == 0)){ break; } //выводим удобным способом fno.fname usart_sendStr(fno.name); usart_sendStr(/r); }

Ну и напоследок оставлю тут рабочий проект

Если на вашем устройстве недостаточный объем внутренней памяти, можно использовать SD-карту как внутреннее хранилище для вашего телефона Android. Данная функция, называемая Adoptable Storage, позволяет ОС Андроид форматировать внешний носитель данных как постоянное внутреннее хранилище. Информация на установленной SD-card зашифрована и не может быть в дальнейшем использована на другом устройстве.

SD Card – это очень удобный вариант для хранения фотографий, песен и видео. Даже если у вас есть большой объем внутренней памяти на Андроид-смартфоне, всегда может понадобиться большой кусок памяти для хранения длинных видеороликов, снятых камерой высокого разрешения вашего телефона.

Важно знать

Есть один недостаток, СД-чип может отставать при записи видео высокого разрешения.

Андроид по умолчанию во внутренней памяти и лишь изредка выгружает данные на SD-карту. Таким образом, вы лишены установки каких-либо дополнительных приложений, если на вашем телефоне ощутима нехватка объема внутреннего хранилища, например, в случае бюджетных устройств на Android One.

Что такое накопительное хранилище?

Накопительное хранилище – это основной объем памяти вашего смартфона, но при необходимости его можно расширить, использовав для этого СД-карточку. Данная на Андроид называется Adoptable Storage. Это позволит использовать съемную карту microSD, установленную на телефоне Android, в качестве основного хранилища. Таким образом, вы сможете легко решить проблему, как сделать SD-карту основной памятью на Андроиде и преодолеть нехватку в пространстве, если телефон имеет небольшой внутренний объем.

Особенности использования карты как основного хранилища

Есть ряд некоторых важных особенностей, которые следует учитывать при данной процедуре.

Будет полезным

При использовании накопителя, будь то SD-флешка или USB-накопитель, важно помнить, в каком формате находится данный девайс и поддерживает ли его операционная система Android, а основных файловых форматов существует четыре типа: FAT32 или exFAT, ext4 или f2fs.

Как поменять память телефона на карту памяти андроида? Вопрос не совсем корректный, полностью выполнить замену невозможно, можно лишь как бы «нарастить» дополнительный объем.

Использование вашей SD-card в качестве основного накопителя может быть отличным решением для меломанов и любителей посмотреть сериалы по пути на работу или в длительном путешествии. Но, как зачастую это бывает, расширение памяти всегда упирается в стоимость требуемого девайса, ведь они отличаются как по скорости, так и по объему, а также по адаптируемой функции хранения информации. Вот некоторые нюансы, рассматривать которые можно с разных сторон – как в отрицательную сторону, так и в положительную:

Как использовать SD-карту в качестве внутренней памяти на Android?

Достаточно ли Вам внутреннего накопителя для хранения всех своих данных?

Как заменить внутреннюю память телефона на внешнюю sd карту на android? Конфигурирование вашей SD-карты для работы в качестве внутреннего хранилища на Android – это, по сути, довольно простой процесс. Ничего сложного в этом нет и вы далее сами в этом убедитесь.

Возможно, что функция Adoptable Storage не поддерживается вашим устройством, даже если смартфон работает под управлением Android 6.0 и выше (бывает и такое, все зависит от модели и марки смартфона). Возможно, производитель устройств отключил данную функцию. Однако существуют методы использования командной строки, которые позволяют принудительно использовать флеш-накопитель для хранения данных.

Ниже перечислены основные шаги по форматированию.


На следующем экране у вас есть последний шанс решить для себя, не хотите ли вы передумать

Важно знать

Не забудьте сделать резервную копию данных, после форматирования информация исчезнет бесследно!


После завершения процесса форматирования вы можете использовать съемную СД-шку как «временное» или «съемное» постоянное место. Но имейте в виду, что теперь будут недоступны горячая замена и извлечение, как, возможно, вы делали ранее. Поэтому не извлекайте флешку, не используя параметр Eject. Кроме того, вы можете практически удалить принятое операционкой место, что, соответственно, не рекомендуется, так как это может вызвать определенные ошибки в работе устройства. Теперь вы знаете, как сделать карту памяти основной памятью на Андроиде.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: