Огромное Вам СПАСИБО, ВЛАДИМИР за Ваши уроки !!!! Два дня бился с этим кодом, весь вспотел ))) Ставьте Куб версии 4.23.0 и отключите в FATFS Configuration на вкладке IPs instances-> Use dma template -> Disabled. Тогда все будет ОК !
Начал с просмотра подключения W5500. Поскольку там тоже используется SD Card, посмотрел там список видео, рекомендованных к просмотру перед работой с чипом. Не пожалел - куча полезной базовой информации. Спасибо!
Кстати, один из вариантов сделать "переходник" для микросд это "испортить" адаптер для этих флешек для подключения к ноутбуку. Обычно такой переходник идёт в комплекте с флешкой. Там как раз к контактам переходника можно припаять гребёнку типа мама, вот сам только что такой "колхоз" сделал
Что-то сд-карта в 4битном режиме не хочет работать . Плата DevEBox F407 V4 , там разъем уже распаян. В однобитном режиме работает нормально. В нэте нашел информацию , что данная пробелема появилась в новых версиях Куба , но человек обнаруживший этот баг начал ковырять старые ХАЛ-овские биболиотеки и выяснил , что там независимо от выбора режима в КУБе инициализация карты в итоге прописывалась с однобитными режимом. Так вот вопрос - что лучше : SPI или SDIO 1Bit ?
Я для экспериментов нашёл в столе совсем старые карточки размером 1 и 4ГБ. В-общем, указанные настройки у меня не пошли. Жутко расстроился, думал, плату плохо спроектировал. Но в результате оказалось, что для них надо использовать 1bit интерфейс, работающий на частоте 24, а не 48 МГц. И, поскольку у меня сокет для карточки находится прямо на плате, а не подключается длинными проводами через разъёмы, то никаких резисторов не надо. И да, хоть при подключении FF к проекту Кубик требует указать пин для определения наличия карточки в сокете, он нигде этот бит не проверяет. И утверждает, что всё смонтировано нормально даже при пустом сокете. Т.е. этот пин надо анализировать самостоятельно. И для него как раз устаналивать pull-up резистор на входе соответствующего пина.
Очень надеюсь на помощь! мучаюсь уже 2 дня, виснет на функции f_open. Перепробовал всё. Карточки менял. Режимы менял. Функция не создает новых, не открывает уже существующих. Тупо виснет. Версия куба 5.0.0, и 4.24.0. SD карта монтируется нормально.
Очень долго запускал, в итоге всё срослось. Какие были у меня трудности - подтяжки нужны, без них не работало. Остановился на 51кОм. SD4BIT так и не заработал, отказывался монтировать, возвращал ошибку. Делитель частоты менял от 3 до 200. Пришлось остановиться на SD1BIT режиме. Так же карты отказывались работать пока не сделал некоторым f_mkfs(). Кстати, последний аргумент в f_mount() "0" (отложенный) всегда выдаёт FR_OK, лучше поставить "1" чтобы сразу было понятно, смонтировало или нет. Ну и ругался на имя файла (видимо длинное слишком придумал), тут уж надо настройки FatFS подбирать. Так же, если выбираете MaxStackSize 4096 в настройка SDIO то в настройках проекта надо увеличить MinStackSize до 4096 (0x1000) а то грозит ХардФолт.
Пробую подружить карточку с седьмой серией. Зависает...Версия куба 4.26.0 Версия пакета контроллера 1.11.0 Неужели ещё не поправили? Нужно переходить на раннюю версию или всё же можно поправить код библиотеки? Спасибо большое за уроки!
Народ, если у кого-то не получается состыковаться с флешкой, то попробуйте в настройках SDIO величить число в SDIOCLK clock divide factor, у меня на делитиле 3 получилось лично
Дорого дня. А есть ли решение без pin detect sd. Проверять наличие sd карты в слоте. Пробовал по разному она определяет её только пока её не передернешь в слоте. После прошивки и нажатие повторно на reset на плате она опять не определяется.
В версии 4.26.1 в настройках FATFS во вкладке IPs instances параметр Use dma template по умолчанию все еще Enabled. Нужно не забывать вручную переключать в Disabled. В версии 4.27 этот параметр исправлять не нужно.
Ну вообще задумки есть, но проект ещё не начат. Мало, так сказать, вменяемого методического материала. Но двигаться в этом направлении непременно надо.
Спасибо за уроки. Собирал для STM32F407VET6, но что то не получается выдает ошибку на строке: if(f_mount(&SDFatFs,(TCHAR const*)SD_Path,0)!=FR_OK) . Не подскажете что делать? У вас смотрел на видео все нормально.
И Вам спасибо за интерес к ресурсу! Дело в том, что изменилась библиотека FATFS. Поэтому кое-какие функции работают несколько по-другому. Надо заходить на сайт и читать описание функций и того, что они требуют.
+narod stream Thank you for your reply but I am using stm32f303c and it doesn't support SDIO that's why I am using SPI, any suggestions would be appreciated.
Все привет!..Подскажите советом пожалуйста. Подключаю карту SD, пользуюсь CMSIS библиотеками...Так вот, при отладке (в пошаговом режиме) инициализация проходит без проблем! А вот когда программа записана в микроконтроллер, то инициализация проходит через раз (два..три..)...резисторы внешние убрал, пробовал без них, подключал внутренние подтягивающие, и во всех случаях картина одинакова...При запуске программы в режиме отладки не пошагово ( до курсора, курсор в конце программы)..инициализация виснет...т.к. возникает таймаут по ответу..вот такие дела...Что может быть, кто сталкивался??
Значит, отписываюсь..Может кому-нибудь пригодиться . Причина была в следующем: после команды CMD0, я не ждал появление флага CMDSENT, а сразу приступал дальше к выполнению алгоритма инициализации, видимо, что-то накладывалось друг на друга и вот имел такой результат...Теперь все работает)) Так что имейте ввиду))
Hi , thank you for your great tutorial about stm32. I want to receive data from USART and write that data to sd card. I can get data and write to sd card but in my txt file only exist latest data !! Can you help me how to write my code to could write over and over in sd card ??
hesam Ghamari hey I am trying to figure out how to read the last/most recent data written to a file. Did you figure it out yet. The way this seems to setup You will need to take all the data. I know there is a api for last data in file cannot find it...
Добрый день нашел STM32CubeMX 4.21, собрал проект выдает упорно ошибку: fatal error: "ff.h" file not found. Странно ничего не менял, не подскажете что сделал не так?
Я тоже однажды с такой ерундой парился долго. Потом просто снял питание с карты, и потом подал его заново, перезагрузив после контроллер. И всё заработало.
hi my friend. ı tried this code but its not working because ı'm using fatfs version R0.12 (cubemx 4.26.1). I read R0.11 is working with cubemx version (4.22.1). can you help about this wrong? I will watch and follow you :)
Ваша реклама настолько глупа и бессмысленна и я никогда ее не смотрю. Неужели вы настолько жадны, то не допускаете, что есть люди, которые ценят свободу выбора и не допускают таких ултиматумов, которые позволяет себе Ютуб. Ваше требование является обычным, примитивным вымогательством и я ненавижу вас за это, как и всех прочих воров, мошенников и аферистов. Почему же тогда вы не отстаиваете свое право рассылать спам в письмах электронной почты? Где граница вашей жадности. Ваши продукты и так приносят вам десятки миллиардов долларов прибыли. Но вам этого мало. Мне 65 лет и я работаю в мире компьютеров с 1979 года, но первый раз в жизни сталкиваюсь с такого рода вымогательским шантажем. Те, кто в руководстве вашей компании принял такое решение, не достойны находиться в ряду великих людей, благодаря которым произошла современная компьютерная и информационная революция. И я хочу знать их имена. Прошу довести мое мнение до руководства компании.
Огромное Вам СПАСИБО, ВЛАДИМИР за Ваши уроки !!!!
Два дня бился с этим кодом, весь вспотел ))) Ставьте Куб версии 4.23.0 и отключите в FATFS Configuration на вкладке IPs instances-> Use dma template -> Disabled. Тогда все будет ОК !
Начал с просмотра подключения W5500. Поскольку там тоже используется SD Card, посмотрел там список видео, рекомендованных к просмотру перед работой с чипом. Не пожалел - куча полезной базовой информации. Спасибо!
Чем больше изучаю stm 32 ,тем больше нравится .Это не камень , а клад какой то !!Всё есть , что нужно для перефирии .Мощь !!
Полностью солидарен!
Otlichnyi urok!! Sposiba bolshoje!!
Спасибо за ваш труд))Очень помогает в изучении данного камня))
А Вам спасибо за внимание к каналу. Удачи в изучении очень интересной науки программирования!
Кстати, один из вариантов сделать "переходник" для микросд это "испортить" адаптер для этих флешек для подключения к ноутбуку. Обычно такой переходник идёт в комплекте с флешкой. Там как раз к контактам переходника можно припаять гребёнку типа мама, вот сам только что такой "колхоз" сделал
Подскажите где найти более подробное описание по FATFS SDIO ?
Что-то сд-карта в 4битном режиме не хочет работать . Плата DevEBox F407 V4 , там разъем уже распаян. В однобитном режиме работает нормально. В нэте нашел информацию , что данная пробелема появилась в новых версиях Куба , но человек обнаруживший этот баг начал ковырять старые ХАЛ-овские биболиотеки и выяснил , что там независимо от выбора режима в КУБе инициализация карты в итоге прописывалась с однобитными режимом. Так вот вопрос - что лучше : SPI или SDIO 1Bit ?
много полезной информации
Я для экспериментов нашёл в столе совсем старые карточки размером 1 и 4ГБ. В-общем, указанные настройки у меня не пошли. Жутко расстроился, думал, плату плохо спроектировал. Но в результате оказалось, что для них надо использовать 1bit интерфейс, работающий на частоте 24, а не 48 МГц. И, поскольку у меня сокет для карточки находится прямо на плате, а не подключается длинными проводами через разъёмы, то никаких резисторов не надо.
И да, хоть при подключении FF к проекту Кубик требует указать пин для определения наличия карточки в сокете, он нигде этот бит не проверяет. И утверждает, что всё смонтировано нормально даже при пустом сокете. Т.е. этот пин надо анализировать самостоятельно. И для него как раз устаналивать pull-up резистор на входе соответствующего пина.
Очень надеюсь на помощь! мучаюсь уже 2 дня, виснет на функции f_open. Перепробовал всё. Карточки менял. Режимы менял. Функция не создает новых, не открывает уже существующих. Тупо виснет. Версия куба 5.0.0, и 4.24.0. SD карта монтируется нормально.
Можете сделать видео про SDIO+DMA+FatFS+CubeMX ?
Очень долго запускал, в итоге всё срослось. Какие были у меня трудности - подтяжки нужны, без них не работало. Остановился на 51кОм. SD4BIT так и не заработал, отказывался монтировать, возвращал ошибку. Делитель частоты менял от 3 до 200. Пришлось остановиться на SD1BIT режиме. Так же карты отказывались работать пока не сделал некоторым f_mkfs(). Кстати, последний аргумент в f_mount() "0" (отложенный) всегда выдаёт FR_OK, лучше поставить "1" чтобы сразу было понятно, смонтировало или нет. Ну и ругался на имя файла (видимо длинное слишком придумал), тут уж надо настройки FatFS подбирать. Так же, если выбираете MaxStackSize 4096 в настройка SDIO то в настройках проекта надо увеличить MinStackSize до 4096 (0x1000) а то грозит ХардФолт.
Пробую подружить карточку с седьмой серией. Зависает...Версия куба 4.26.0 Версия пакета контроллера 1.11.0 Неужели ещё не поправили? Нужно переходить на раннюю версию или всё же можно поправить код библиотеки? Спасибо большое за уроки!
Народ, если у кого-то не получается состыковаться с флешкой, то попробуйте в настройках SDIO величить число в SDIOCLK clock divide factor, у меня на делитиле 3 получилось лично
103 это 10к.. 10 и 000, 10 тысяч ом.. Так на всякий случай)
Дорого дня. А есть ли решение без pin detect sd. Проверять наличие sd карты в слоте. Пробовал по разному она определяет её только пока её не передернешь в слоте. После прошивки и нажатие повторно на reset на плате она опять не определяется.
Вопрос закрыт. У меня sd карта с глюками. И ещё работать стало только когда перед f_mount добавил bsp_sd_init. И стало все чётко.
Hi! I guest this is only polling mode for sdio right? Do you also have DMA style sdio somewhere?
Заработало, только почему то считывает и записывает после сброса по питанию. Хз почему, ну да ладно, главное заработало
В версии 4.26.1 в настройках FATFS во вкладке IPs instances параметр Use dma template по умолчанию все еще Enabled. Нужно не забывать вручную переключать в Disabled. В версии 4.27 этот параметр исправлять не нужно.
Тут интереснее всего реализация ErrorHandler(). Как бы Вы обрабатывали ошибки? Я вижу, что unmount вы не вызываете. И нужно ли?
Нет, не нужно. У нас же нет корректного выключения.
Спасибо за урок. Будет в бущем работа с подключением к эзернет?
Я думаю обязательно. Уж такие технологии как lan и wifi от нас точно не спрячутся.
Круто) wifi это сильно!
Ну вообще задумки есть, но проект ещё не начат. Мало, так сказать, вменяемого методического материала. Но двигаться в этом направлении непременно надо.
Спасибо за урок! А есть пример на CMSIS?
where is "Fatfs.c" file ? can you give me
great sample code~
Спасибо за уроки. Собирал для STM32F407VET6, но что то не получается выдает ошибку на строке: if(f_mount(&SDFatFs,(TCHAR const*)SD_Path,0)!=FR_OK) . Не подскажете что делать? У вас смотрел на видео все нормально.
И Вам спасибо за интерес к ресурсу!
Дело в том, что изменилась библиотека FATFS. Поэтому кое-какие функции работают несколько по-другому. Надо заходить на сайт и читать описание функций и того, что они требуют.
Нужно активировать ДМА!
Can u help me , load images from SD on TFT LCD ?
Hi, Can you make a video of interfacing SPI with sd card using FAT library?
Thank ou.
On my channel has a similar video for AVR controllers. SPI is much slower, so I would not advise using it.
+narod stream Thank you for your reply but I am using stm32f303c and it doesn't support SDIO that's why I am using SPI, any suggestions would be appreciated.
I wish this series had english subtitles.
Все привет!..Подскажите советом пожалуйста. Подключаю карту SD, пользуюсь CMSIS библиотеками...Так вот, при отладке (в пошаговом режиме) инициализация проходит без проблем! А вот когда программа записана в микроконтроллер, то инициализация проходит через раз (два..три..)...резисторы внешние убрал, пробовал без них, подключал внутренние подтягивающие, и во всех случаях картина одинакова...При запуске программы в режиме отладки не пошагово ( до курсора, курсор в конце программы)..инициализация виснет...т.к. возникает таймаут по ответу..вот такие дела...Что может быть, кто сталкивался??
Во время инициализации скорость другая должна быть. Знаете об этом?
Да, конечно скорость ставил 300 кГц
Тогда странно. Должно всё проходить. Вообще проблемы с CMSIS не наблюдались. Проблемы наблюдаются с HAL после генерации кубом версии 4.23 и новее
Спасибо, что ответили...Буду еще пытаться..зашью ваш проект..там посмотрю...
Значит, отписываюсь..Может кому-нибудь пригодиться . Причина была в следующем: после команды CMD0, я не ждал появление флага CMDSENT, а сразу приступал дальше к выполнению алгоритма инициализации, видимо, что-то накладывалось друг на друга и вот имел такой результат...Теперь все работает)) Так что имейте ввиду))
Hi , thank you for your great tutorial about stm32.
I want to receive data from USART and write that data to sd card. I can get data and write to sd card but in my txt file only exist latest data !!
Can you help me how to write my code to could write over and over in sd card ??
hesam Ghamari hey I am trying to figure out how to read the last/most recent data written to a file. Did you figure it out yet. The way this seems to setup You will need to take all the data. I know there is a api for last data in file cannot find it...
Добрый день нашел STM32CubeMX 4.21, собрал проект выдает упорно ошибку: fatal error: "ff.h" file not found. Странно ничего не менял, не подскажете что сделал не так?
FATFS - штука тонкая. Лучше разобраться с новой версией. Сейчас всё работает и в ней на 26 кубе. Только надо не забыть снять поддержку DMA.
Спасибо, буду пробовать.
Почему у меня функция f_open видает ошибку FR_DISK_ERR, как ее обойти?
Я тоже однажды с такой ерундой парился долго. Потом просто снял питание с карты, и потом подал его заново, перезагрузив после контроллер. И всё заработало.
Нужно активировать ДМА!
Вы не разбираете подключение карты с помощью CMSIS?
hi my friend. ı tried this code but its not working because ı'm using fatfs version R0.12 (cubemx 4.26.1).
I read R0.11 is working with cubemx version (4.22.1).
can you help about this wrong?
I will watch and follow you :)
How can i use f_getfree API? Please help me
the english translation is funny
103 это 10кОм
Кстати на нормальных стоят 1кОм
Сделайте урок только вместо SDIO, SPI
А зачем, если есть аппаратная поддержка SDIO? Это же в 4 раза быстрее
У меня нету SDIO например и меня интересует SPI
То же самое, но наоборот. У меня нет дисплея со SPI
Я же не про дисплей говорю, а про SD карту, урок по FatFS с SD картой по SPI.
Ваша реклама настолько глупа и бессмысленна и я никогда ее не смотрю. Неужели вы настолько жадны, то не допускаете, что есть люди, которые ценят свободу выбора и не допускают таких ултиматумов, которые позволяет себе Ютуб. Ваше требование является обычным, примитивным вымогательством и я ненавижу вас за это, как и всех прочих воров, мошенников и аферистов. Почему же тогда вы не отстаиваете свое право рассылать спам в письмах электронной почты? Где граница вашей жадности. Ваши продукты и так приносят вам десятки миллиардов долларов прибыли. Но вам этого мало. Мне 65 лет и я работаю в мире компьютеров с 1979 года, но первый раз в жизни сталкиваюсь с такого рода вымогательским шантажем. Те, кто в руководстве вашей компании принял такое решение, не достойны находиться в ряду великих людей, благодаря которым произошла современная компьютерная и информационная революция. И я хочу знать их имена. Прошу довести мое мнение до руководства компании.
103 это 10 кОм
дисплЕй симвОльный . развЕден xDDDD