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. Они очень хорошие и хорошо документированы!