Top.Mail.Ru
Уведомления
Очистить все

[Решено] stm32 + nt35510

Страница 1 / 2
(@andrej-8)
Level 1

Здравствуйте.

Железки : nt35510 (  https://aliexpress.ru/item/32807629460.html?spm=a2g39..  ),
stm32f407 (  https://aliexpress.ru/item/4000029771709.html?spm=a2g..  ),
ST-Link V2 (  https://aliexpress.ru/item/32921831799.html?spm=a2g39..  ).

ПО - STM CubeMX, Keil uVision5.


Знания : технический английский с натяжкой на троечку, языки программирования - почти ноль, чтение и понимание схем - твёрдая четвёрка, умение паять - красиво и аккуратно ))).
Хочу освоить МК STM32 для своих проектов (мощный БП, он же ЗУ + мощная электронная нагрузка - в итоге зарядно-разрядный комплекс).
Удачно повторил несколько чужих проектов в среде AVR.
Поморгать светодиодами на плате STM так же получилось без проблем. Подключить по схеме CubeMX дисплей к плате с МК и завести проект в Keil вроде тоже. Дальше стопор, инициализировать дисплей и вывести на него обычный тест не получается (нет знаний и опыта в данных программах).


Требуется помощь в подключении/инициализации дисплея nt35510 к плате stm32f407. Так же буду благодарен за начальный "туториал" в работе программы Keil и языков С/С++.

Цитата
Создатель темы Размещено : 25.09.2021 17:03
Aveal
(@aveal)
Top level Admin

Добрый день!

nt35510 нет под рукой, к сожалению. В целом, лучше начать с литературы чисто по C/C++ - Герберт Шилдт обычно хорошо идет.

ОтветитьЦитата
Размещено : 26.09.2021 10:45
(@krokorolf)
New member

Здравствуйте. У меня вроде тот же набор что и у вас, тоже никак не получается инициализировать этот дисплей. 

Я нашел в инете работу какого то китайца - mculover. К сожаление его сайт ( https://dnspod.qcloud.com/static/webblock.html?d=www.mculover666.cn) сейчас не доступен.

Но его статья, в которой разобран вопрос STM32F407ZGT6 + tft nt35510 + fsmc доступна на других сайтах (один из них - https://programmersought.com/article/49241966652/)

А сама программа, которую он разбирает в этой статье можно с гитхаба у него скачать ( https://github.com/Mculover666/HAL_Driver_Lib). Тут куча материала, но тот который он использует в статье - lcd fsmc вроде. Там описаны функции для работы с дисплеем, в том числе функция инициализации.

Ну вот я пробовал все это дело взять и адаптировать под своё железо, у меня почему-то не работает. Если у вас что-то выйдет - отпишитесь пожалуйста. 

ОтветитьЦитата
Размещено : 30.09.2021 16:41
Aveal
(@aveal)
Top level Admin
(@krokorolf)
New member

@aveal контроллер там такой же. Но у автора темы и у меня речь шла о 3.9 дюймах.

ОтветитьЦитата
Размещено : 07.10.2021 00:32
Aveal
(@aveal)
Top level Admin

@krokorolf окей, спасибо, закажу 3.9", протестирую

ОтветитьЦитата
Размещено : 07.10.2021 19:15
(@andrej-8)
Level 1

Нашёл в сети несколько вариантов библиотек для данного дисплея в среде СТМ32...

 

С библиотекой от СТ инициализировать/запустить дисплей не удалось, хоть ошибок при компиляции нет но КубИДЕ виснет при дебаге на HAL library.
Вариантом с Кейлом - ограничение бесплатной версии, мигрировать не хватает знаний...
ОтветитьЦитата
Создатель темы Размещено : 18.10.2021 01:25
Aveal
(@aveal)
Top level Admin

@andrej-8 я себе заказал дисплей, жду, рано или поздно он прибудет.

ОтветитьЦитата
Размещено : 18.10.2021 11:35
(@andrej-8)
Level 1

Хорошо, ждём экрана )))...

С библиотекой от "СТ", в среде СТМ32КубИДЕ... Создал проект, перенёс библиотеку в проект, дальше всё, даже залить цветом экран не смог, кроме чёрного )))...  Может попробуем запустить удалённо ? ))) Архивы и файлы в комплекте )))...

Снимок2
Снимок3
Снимок

 

 
ОтветитьЦитата
Создатель темы Размещено : 18.10.2021 17:00
Aveal
(@aveal)
Top level Admin

@andrej-8 все равно самому покрутить надо)

ОтветитьЦитата
Размещено : 19.10.2021 09:52
(@andrej-8)
Level 1

Появилось свободное время, решил "помучать" дисплеи накопившиеся у меня )))... В итоге, с сайта "lcdwiki", библиотеки подошли. Только они изначально созданы в среде МДК Кеил, у меня нет знаний и умений перенести их в среду КубИДЕ... Поэтому я пошёл по другому пути, попробовал урезать/отключить часть тестов что бы уместиться в ограничения Кеил... Получилось запустить весь зоопарк дисплеев на данный момент ))).

 

Прикладываю файл с частью отключенных тестов для среды Кеил. Включить или отключить тесты можно в файле "main.c" и "test.c", схема подключения дисплея в файлах "lcd.h" и "lcd.c".

IMG 20220106 024549

 

ОтветитьЦитата
Создатель темы Размещено : 12.01.2022 02:09
Родион reacted
Aveal
(@aveal)
Top level Admin

@andrej-8 мощно 👍 

ОтветитьЦитата
Размещено : 12.01.2022 12:44
(@matrex)
Level 1

Доброго дня!

К какому чипу вы подключали экран? Я пытался подключить STM32F407VGT6 по FSMC адаптируя пример с  http://www.lcdwiki.com/3.97inch_16BIT_Module_NT35510_SKU:MRB3973  ничего не получилось. Где то прочитал, что STM32 не совсеми LCD может работать через FSMC (для меня это критически важно). В общем, для начала хочу понять, в чем проблема – толи LCD мертв, толи я неправильно адаптирую пример. Может у вас есть пример подключения к моему чипу? Либо можете подсказать, как корректно адаптировать пример под другой чип? На что обратить внимание? В общем, любой совет, что бы заставить это чудо китайской промышленности работать…

ОтветитьЦитата
Размещено : 18.01.2024 11:54
(@eduard)
Level 5 Moderator

Все дисплеи с 8 или 16 битным интерфейсом можно запустить по FSMC. На дисплее должны быть контакты:

D0-D7

или

D0-D15 - данные

WR - Запись

RD - Чтение

CS - Выбор кристалла

C/D - Команда/Данные

RD сигнала может не быть.

Чтобы проверить дисплей нужно найти библиотеку с примером. Неважно под какой чип. Важно его иметь. Чаще под Ардуину.

Проверили дисплей, начинаете читать что такое вообще FSMC.

Проверяете, стоит ли на дисплее преобразователь уровней 5<->3.3 вольт. STM работает только с 3.3 и придётся делать так, что бы дисплей работал от 3.3

Затем подключаете к STM и начинаете передирать библиотеку на которой дисплей запустился.

Если не понятно, что я написал, нужно изучать:

1. Схемотехнику

2. Протокол 8080

3. Электронику.

4. Программирование на выбранном языке

5. Внутреннюю структуру и  работу микроконтроллера

6. И т.д.

Поверьте, при желании это сделать можно. А нахрапом, используя чужие библиотеки запустить не сможете. Нужно понимать что и как происходит.
Ещё не плохо было бы иметь логический анализатор на 16 каналов.

Я уже не один дисплей по FSMC запустил.

 

 

ОтветитьЦитата
Размещено : 18.01.2024 13:22
(@matrex)
Level 1

STM контроллер для меня в новинку (я больше как то по Atmega-м), но по моим наблюдениям для подключения по FSMC куб предусматривает несколько предопределенных вариантов подключения. т.е. нельзя подключить шину данных, например, просто к D0-D15. То что предлагаете вы - это похоже на эмуляцию протокола. Я видел такой пример тоже. Например https://hubstub.ru/display/213-inicializaciya-otm8009a.html  

В моем случае распиновка, а точнее то что предложил куб, выглядит так:

PD13 -> RS (FSMC_A18)
PD4 -> RD (FSMC_NOE)
PD14 -> DB00 (FSMC_D0)
PD0 -> DB02 (FSMC_D2)
PE7 -> DB04 (FSMC_D4)
PE9 -> DB06 (FSMC_D6)
PE11 -> DB08 (FSMC_D8)
PE13 -> DB10 (FSMC_D10)
PE15 -> DB12 (FSMC_D12)
PD9 -> DB14 (FSMC_D14)

PD7 -> CS_T (CS) (FSMC_NE1)
PD5 -> WR (FSMC_NWE)
NRST -> RST
PD15 -> DB01 (FSMC_D1)
PD1 -> DB03 (FSMC_D3)
PE8 -> DB05 (FSMC_D5)
PE10 -> DB07 (FSMC_D7)
PE12 -> DB09 (FSMC_D9)
PE14 -> DB11 (FSMC_D11)
PD8 -> DB13 (FSMC_D13)
PD10 -> DB15 (FSMC_D15)

Отличие от примера с wiki - в подключении ног RS (там PF12) и CS (и PG12). В моем микроконтроллере просто нет этих портов.  На свое разумение я подправил исходники, переделав под "мои" ножки, но видимо пока квалификация слабовата, поэтому ничего не завелось.

 

ОтветитьЦитата
Размещено : 18.01.2024 17:02
Страница 1 / 2
Поделиться: