MasterIphone
Member
Хотя форум про иные модули, но возможно найдется решение моей проблемы.
Развел плату, на которую монтирую модуль STM32F401CCU6
Данный модуль позволяет использовать внешнюю FLASH память или EEPROM(не точно), и подключается путем пайки прямо на плату модуля.
И правда, не совсем понимаю, везде пишут, что к "черной таблетке" подключают EEPROM, но в даташитах на сами "еепромки" написано, что "они" флешки.
Библиотеки в "интернетах" тоже путаются - работают с EEPROM, а а в коде пишут FLASH.
В общем каша уже на начальном этапе, но вопрос не в этом.
Мне удалось отыскать примеры с библиотеками, чтобы подключить флешке-еепромку 25Q16BV от WINBOND и "поиграться" с ней.
*
По умолчанию флешка подключена к чипу на плате так:
CS -> PA4
SCK -> PA5
MOSI -> PA7
MISO -> PB4(странно, эта нога врода для SPI3 нужна)
Когда припаял микросхему флеша на обратную сторону Black Pill то в мониторе порта(как и в терминале) на нужном порту COM все заработало.
Как писал ранее - развел плату под модуль Black Pill и флешку, только подключил флешку я иначе, как диктовал даташит, а именно:
CS -> PA15
SCK -> PB3
MOSI -> PB4
MISO -> PB5
И тут началось...во первых Black Pill флешку не видит, код внутри пилюли работает, но флеш чип не опознается.
Вначале стал менять режим SPI:
Менял даже в библиотеке SPI.h но безрезультатно.
Запустил CubeMX и посмотрел, какие "ноги" задействованы для SPI3 - и тут первое подозрение, для CS нужна нога PA4
Но у меня пины с PA0-PA7 заняты интерфейсом motorola 8080 для подключения дисплея по параллельному 8-битному интерфейсу.
Собственно поэтому флешку внешнюю и перекинул на SPI3 и т.к. плату нужно было заказывать к Китае, не проверял на макетке работу интерфейса SPI3.
Развел плату как описал выше и платы через месяц приехали.
Вообще кто-нибудь сталкивался с работой с множественными SPI интерфейсами у Black Pill или большинство людей только лампочками мигают на Black Pill или STM32F4 дискавери?
Шутка, или не совсем!
Чтобы использовать у STM32 два или три SPI интерфейса одновременно - для вывода на дисплей, для общения с флешкой и еще для чего нибудь.
По итогу пока не знаю, куда "копать".
Резать дорожки на плате, и переносить контакт 1 у флеш микросхемы с PA15 на PA4...
А дальше больше, для подключения дисплея, по 8-битному интерфейсу, использую библиотеку eSPI_TFT от Bodmer'а.
Еще добавил себе работы тем, что работаю из под ардуино IDE, а это тоже свои особенности.
В интернете масса примеров для кода в Cube IDE и Keil.
Да и HAL и LL "получше" с настройкой SPI справляются, чем адаптированная библиотека от STmicroelectronic под ардуино IDE.
В общем прошу помощи, если кто сможет.
Развел плату, на которую монтирую модуль STM32F401CCU6
Данный модуль позволяет использовать внешнюю FLASH память или EEPROM(не точно), и подключается путем пайки прямо на плату модуля.
И правда, не совсем понимаю, везде пишут, что к "черной таблетке" подключают EEPROM, но в даташитах на сами "еепромки" написано, что "они" флешки.
Библиотеки в "интернетах" тоже путаются - работают с EEPROM, а а в коде пишут FLASH.
В общем каша уже на начальном этапе, но вопрос не в этом.
Мне удалось отыскать примеры с библиотеками, чтобы подключить флешке-еепромку 25Q16BV от WINBOND и "поиграться" с ней.
*
По умолчанию флешка подключена к чипу на плате так:
CS -> PA4
SCK -> PA5
MOSI -> PA7
MISO -> PB4(странно, эта нога врода для SPI3 нужна)
Когда припаял микросхему флеша на обратную сторону Black Pill то в мониторе порта(как и в терминале) на нужном порту COM все заработало.
Как писал ранее - развел плату под модуль Black Pill и флешку, только подключил флешку я иначе, как диктовал даташит, а именно:
CS -> PA15
SCK -> PB3
MOSI -> PB4
MISO -> PB5
И тут началось...во первых Black Pill флешку не видит, код внутри пилюли работает, но флеш чип не опознается.
Вначале стал менять режим SPI:
Код:
SPI.setDataMode(SPI_MODE0);
на
SPI.setDataMode(SPI_MODE3);
Запустил CubeMX и посмотрел, какие "ноги" задействованы для SPI3 - и тут первое подозрение, для CS нужна нога PA4
Но у меня пины с PA0-PA7 заняты интерфейсом motorola 8080 для подключения дисплея по параллельному 8-битному интерфейсу.
Собственно поэтому флешку внешнюю и перекинул на SPI3 и т.к. плату нужно было заказывать к Китае, не проверял на макетке работу интерфейса SPI3.
Развел плату как описал выше и платы через месяц приехали.
Вообще кто-нибудь сталкивался с работой с множественными SPI интерфейсами у Black Pill или большинство людей только лампочками мигают на Black Pill или STM32F4 дискавери?
Чтобы использовать у STM32 два или три SPI интерфейса одновременно - для вывода на дисплей, для общения с флешкой и еще для чего нибудь.
По итогу пока не знаю, куда "копать".
Резать дорожки на плате, и переносить контакт 1 у флеш микросхемы с PA15 на PA4...
А дальше больше, для подключения дисплея, по 8-битному интерфейсу, использую библиотеку eSPI_TFT от Bodmer'а.
Еще добавил себе работы тем, что работаю из под ардуино IDE, а это тоже свои особенности.
В интернете масса примеров для кода в Cube IDE и Keil.
Да и HAL и LL "получше" с настройкой SPI справляются, чем адаптированная библиотека от STmicroelectronic под ардуино IDE.
В общем прошу помощи, если кто сможет.
Вложения
-
25.7 KB Просмотры: 1