STM32 и SD-карта (FATFS и SPI)

Я начинаю работать с платой stm32l0, и это было нормально, пока у меня не было более интересных функций для использования. Я никогда не читал SD-карту из окон, я нашел ссылки Pins и начал читать о SPI, который может быть подходящим решением для нашего проекта (я думаю).

Но проблема в части программирования, каждый урок, который я нахожу, пропускает основы. Я использую STM32CubeMX для генерации кода с HAL и FATFS, но я не знаю, как инициализировать, а затем использовать мою SD-карту. Я пытаюсь вставить код, который нашел, но потом не могу его отладить, и нет смысла просто вставлять чей-то код.

Спасибо и извините за мою грамматику,

РЕДАКТИРОВАТЬ: Я пришел сюда после этого сообщения: ссылка Я сейчас пытаюсь получить доступ к SD-карте с контроллером stm32l0. Мне посоветовали использовать FATFS для чтения устройства, но я понял, что библиотеке нужен способ доступа к данным: SPI. Я выбрал FATFS и SPI2 в STM32CubeMX и импортировал проект в Eclipse (я использую HAL и SW4STM32). В описании контактов я видел MISO,CK,MOSI в CubeMX, которые были на контактах PB12,PB13,PB14. Но в основном файле эти контакты никогда не используются.
В посте, о котором я упоминал, меня пугало еще одно: SD-карта должна быть инициализирована так, чтобы о ней никогда не слышали.
Я не знаю, нужны ли вам функции SPI_Init и GPIO_Init, я отредактирую это сообщение, если оно вам понадобится.
Я буду редактировать в любом случае утром, потому что пост должен быть настолько запутан, мой мозг горит, извините. Спросите, нужна ли вам точность в чем-либо. Спасибо!

2 ответа

Решение

Если вы используете CubeMx и настраиваете SPI для доступа к SD-карте, контакты автоматически настраиваются в вашем коде. Посмотрите определения / реализации первых нескольких функций в сгенерированном файле main.c.

Если у вас нет опыта работы с STM32 и его драйверами HAL, сначала попытайтесь понять, как все складывается.

Самый быстрый способ сделать это - попробовать пример.

Все ваши библиотеки микропрограмм CubeMx расположены по адресу

C:/Users/UserName/STM32Cube/Repository/STM32Cube_FW_XX

Перейдите в папку "Проекты"> "Примеры" (может быть не точным, но пути похожи), и вы найдете примеры.

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

https://github.com/kiwih/cubemx-mmc-sd-card

Другие вопросы по тегам