Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F100 + FatFS = FR_NO_FILESYSTEM
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Василий Зыков
Уважаемые коллеги!

Подключил к своему проекту библиотеку FatFS, написал процедуры инициализации, чтения и записи. Все работает. Карта инициализируется, данные записываются и читаются.
Но при попытке прочитать существующий файл с карты памяти типа SD Объемом 2 Гб вызывает ошибку (код возврата - FR_NO_FILESYSTEM). При этом такая ситуация возникает
со всеми картами памяти данного объема. Карты типа SDHC Объемом 4 и 8Гб работают нормально.

Быть может, кто-то встречался с такой проблемой?

Заранее благодарен за любые идеи и подсказки!
MiklPolikov
Для карт 2 и 4ГБ нужны разные процедуры чтения-записи.
В карте 2 ГБ тот адрес, который Вы передаёте в карту, -это физический адрес, который считается в байтах.
В карте более 2ГБ это номер сектора, т.е. физический адрес / 512
И вот поэтому просто чтение-запись у Вас работает, хоть и пишет не туда, куда Вы думаете. А когда нужно прочитать FAT, её там не оказывается.

Перед работой с картой, во время её инициализации, нужно выяснять, что это за карта. Так же полезно выяснять макс. скорость.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.