Проблема с STM32 и SDFat lib на другом порту SPI
Я использую STM32F103C8 и пытаюсь скомпилировать код с библиотекой SDFat. Проблема в том, что мне нужно использовать второй канал SPI1 (контакты PB5, PB4, PB3, PA15):
Я обнаружил, что можно использовать библиотеку SDFat и включить SPIClass в ее конструктор. Тогда я мог бы использовать этот код:
SPIClass SPI_1(PB5,PB4,PB3, PA15);
SdFat sd(&SPI_1);
Проблема заключается в этой ошибке компиляции:
no matching function for call to 'SdFat::SdFat(SPIClass*)'
Есть ли у вас идеи, как решить эту ошибку или как работать с SD-картой на разных контактах?
Вот исходный код этой библиотеки: https://github.com/greiman/SdFat/blob/master/src/SdFat.h< /а>
@LucasN, 👍1
Обсуждение1 ответ
Лучший ответ:
Хорошо, я узнал, что библиотека sdFat не поддерживается на stm32 bluepill (периферийные устройства HAL SD-карты не включены), поэтому я решил использовать базовую библиотеку Arduino SD (она использует команды SPI, а не HAL).
Также мне нужно изменить выводы (с SPI1_1 на SPI1_2) в файлах variant.h и PeripheralPins.c платы bluepill. - И, наконец, это работает (SPI1_2).
- Как увеличить скорость записи на SD-карту в Ардуино
- Какие контакты можно использовать для выбора микросхемы (CS, CC) на Arduino Nano Every?
- Сделать CS (chip select) для работаты в SPI (для и SD карты и OLED)
- Использование экрана SD-карты на Arduino Due
- Загрузить сайт с SD-карты
- Отобразить изображение с SD-карты на ЖК-дисплей ILI9486
- Аппаратный SPI Arduino NANO не работает
- Сбой при записи данных MPU-6050 на SD-карту
где-нибудь определен IMPLEMENT_SPI_PORT_SELECTION или DOXYGEN? Как это определяется?, @Delta_G
Это внутри библиотеки SDFat. я не уверен, что это значит, @LucasN
Хорошо, если он определен как 0 или не определен, тогда этот конструктор, который вы подчеркнули, не является частью кода. Эта директива препроцессора решает, будет ли эта строка включена или нет. Вам придется поискать и посмотреть, сможете ли вы его найти., @Delta_G
Можешь поделиться своей схемой? Я пытаюсь сделать то же самое, но он всегда не инициализируется., @Shubham Jain