Перейти к содержанию
    

STM32F429-Disco, CubeMX и TouchGFX Designer. Тема будет долгой....

5 минут назад, mantech сказал:

А так понимаю, дама хотела все готовое и чтоб сразу работало...:dirol:

Ну так вроде полно народных библиотек и уроков по работе с этим контроллером...

Если лень писать самому, берется первый понравившийся комплект исходников и поехали.

Хоть я и не фанат подобных библиотек (а от народстрим так и подавно), но для быстрого подключения они годятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, mantech сказал:

А так понимаю, дама хотела все готовое и чтоб сразу работало...:dirol:

Так она вроде писала что:

В 28.03.2020 в 15:14, Xenia сказал:

микроконтроллеры слушаются меня

неужто слушания не хватает на то, чтобы нарисовать простую строку текста любым шрифтом в ОЗУ и переслать её через SPI в ILI?

Нарисовать самым простым способом, без всяких наложений на фон, областей отсечения и пр. Просто - на место каждой точке принадлежащей букве шрифта ставить точку цветом A, а каждой не принадлежащей - цветом B. Потом послать получившееся в ILI, предварив это командой обновления области видеоОЗУ. Вроде - куда уж проще. А обсуждение всё тянется и тянется вокруг 3-х сосен который день....  :smile:

12 минут назад, mantech сказал:

"Так есть для него что-то готовое или с нуля начинать - даташит на ILI9341 курить? :)"

Без понятия. По готовому быдлокоду - это не ко мне. Я - куритель даташитов  :big_boss:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, jcxz сказал:

Но почему то продолжаете перетирать одно и то же. В чём проблема нарисовать строку текста в ОЗУ и вывести её через SPI в этот самый ILI9341? За прошедшее время уже можно было успеть так сделать. Не понимаю проблемы...

Как это почему? Программку готовую хочу :). Я так и сказала - примерчик нужен, чтобы "Hello World!" на этот дисплей выводила.

 

 

1 час назад, jcxz сказал:

По готовому быдлокоду - это не ко мне. Я - куритель даташитов

 

А я в даташит ILI9341 как заглянула, там мне сразу же поплохело :). Даташиты на МК с интересом читаю (вероятно потому, что много ранее известного там встречаю), а даташит на дисплей ну никак не идет. Я уже говорила - не любят меня дисплеи :) и я их взаимно не люблю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Xenia сказал:

А я в даташит ILI9341 как заглянула, там мне сразу же поплохело :). Даташиты на МК с интересом читаю (вероятно потому, что много ранее известного там встречаю), а даташит на дисплей ну никак не идет. Я уже говорила - не любят меня дисплеи :) и я их взаимно не люблю.

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

8.2.22.  Memory Write (2Ch)

то видно, что для того чтобы записать прямоугольный массив точек в видеоОЗУ ILI нужно последовательно отправить 3 команды: CASET (2Ah), PASET (2Bh), RAMWR(2Ch). В последней собственно и передаётся массив точек прямоугольного окна.

ili9341.thumb.png.d2c96976a991ec517098cd44fd174625.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, mantech said:

ногодрыг - это программный цикл по которому откуда-нибудь данные перекидываются в порт и программно формируется защелкивание и т.д.

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

Xenia - 

Любая техническая документация печатается в строгой последовательности - всё что раньше важнее того что ниже. Собственно читать её нужно именно в такой последовательности, и на практике применять, и в алгоритмах использовать.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, jcxz сказал:

увидели бы что ничего страшного там нет.

Да мудрено там чего-то наворотили. Как-то видел контроллер дисплея, там для записи нужна была 1 команда с 2мя параметрами 1-стартовый адрес, 2й - длина строки. потом тупо данные с автоинкрементом, прямоугольная область заполнялась автоматически... 

53 минуты назад, AVI-crak сказал:

Нет, это болезнь мозга под названием - адруино_мышление.

Не всегда. Гораздо приятнее тот же I2C программный, работает на ура, глюков нет, в отличие от того же аппаратного в стм, порты могу выбирать любые, так что не стоит подходить так категорично. В случае с дисплеями - бред конечно...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 минуты назад, mantech сказал:

Да мудрено там чего-то наворотили. Как-то видел контроллер дисплея, там для записи нужна была 1 команда с 2мя параметрами 1-стартовый адрес, 2й - длина строки. потом тупо данные с автоинкрементом, прямоугольная область заполнялась автоматически...

Так в ILI9341 почти также, только размеры и положение прямоугольной области задаются двумя отдельными командами CASET, PASET, за которыми идёт команда передачи данных RAMWR. Я же на картинке выше привёл это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, AVI-crak сказал:

Да что там за код такой, что так туго работает?

Да я вроде пытался понятно описывать. Сербы применили STM32F746ZG - отлично! Нужно подключить 7" TFT - вроде бы есть LTDC - не применили, поставили внешнюю SSD1963 с параллельной шиной. Отлично, в МК есть FMC - тоже не применили. Подключили параллельную шину на два разных порта 8+8 бит. И на случайные ножки порта сигналы CS, RD, WR, DC. Шину нужно эмулировать программно. Это я и называю "ногодрыгом".

Ну а дальше, когда я захотел запустить эту плату применяя CubeMX и STemWIN, мне пришлось написать только функции конфигурации SSD1963 и записи/чтения команды/данных в SSD1963.
Все остальное в STemWIN уже есть. Также и скорость отрисовки я измерял при помощи демо-примера от STemWIN, который сам гоняет туда-сюда данные в различных режимах и выводит результаты на экран. И получилось 1-2 экрана/сек (800 х 480 х 24). Так что моего кода там минимум.

 

14 часов назад, Xenia сказал:

Почему не хочу? Хочу! Вот только SDRAM не хочу использовать. Отсюда и мой вопрос о том, является ли обязательной жертва SDRAM, чтобы пользоваться этим дисплеем. Или в упрощенном/терминальном режиме есть возможность этой жертвы избежать? Вижу, что STemWin требует этой жертвы, потому и тот вопрос, есть ли ей замена под тем же CubeMX/HAL, если требования к графике снизить до минимума.

STemWin не требует этой жертвы, и я вам это уже писал. Ему вообще все равно, где вы ему выделите область памяти. Я выделял в процессоре. И памяти может быть немного.

 

3 часа назад, Xenia сказал:

Как это почему? Программку готовую хочу :). Я так и сказала - примерчик нужен, чтобы "Hello World!" на этот дисплей выводила.

Xenia, вы просто образец женщины! :wink2:
То говорили: "Не предлагайте мне этот "Hello World!" - видеть его не могу!"
А сейчас: "Хочу "Hello World!" примерчик".

Ну таки еще раз: CubeMX знает о существовании платы STM32F429I-DISCO. Поэтому при помощи выставления нужных галочек он создаст вам рабочий проект для STM32F429I-DISCO с полностью готовым для работы STemWin. Более того, в этом шаблоне проекта уже с применением STemWin будет выведено на экран "Hello World!" :smile:

А дальше открываете "emWin Graphic Library with Graphical User Interface User & Reference Guide" и делаете все что душе угодно. И не нужно даже лезть в Datasheet на ILI9341.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 hours ago, Baser said:

Сербы применили STM32F746ZG - отлично!

Что-то мне подсказывает - что ПП получилась красивой и простой, без обилия переходных, всего на двух слоях, и с огромной площадью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 часов назад, Baser сказал:

Ну таки еще раз: CubeMX знает о существовании платы STM32F429I-DISCO. Поэтому при помощи выставления нужных галочек он создаст вам рабочий проект для STM32F429I-DISCO с полностью готовым для работы STemWin. Более того, в этом шаблоне проекта уже с применением STemWin будет выведено на экран "Hello World!" :smile:

А дальше открываете "emWin Graphic Library with Graphical User Interface User & Reference Guide" и делаете все что душе угодно. И не нужно даже лезть в Datasheet на ILI9341.

Тогда еще разик и мой ответ послушайте: мне нужен пример, где SDRAM  не используется, а если CubeMX  сообщить о  существовании платы STM32F429I-DISCO, то он сделает графику через SDRAM, да еще и FreeDOS туда загонит.

 

Почитайте сами, что пишет CubeMX при попытке подключить графику:

StemWin.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 часов назад, AVI-crak сказал:

Что-то мне подсказывает - что ПП получилась красивой и простой, без обилия переходных, всего на двух слоях, и с огромной площадью.

Не, ну не так там все плохо. :biggrin:  Плата позиционируется как development board и для этих целей вполне подходит, если не считать кривое подключение дисплея и уже снятых с производства Touch Screen controller и Wi-Fi модуля. Габариты ее в 7" дисплей. Для студентов и самодельщиков самое то. Начальство купилось на рекламу и даже предполагало использование в приборах, что мне сразу было странно исходя из ее конской цены. По крайней мере для меня возня с ней была полезной. Cлегка разобрался с TFT и понял как делать НЕ НАДО. Для проекта буду свою плату ваять.
 

5 часов назад, Xenia сказал:

Тогда еще разик и мой ответ послушайте: мне нужен пример, где SDRAM  не используется, а если CubeMX  сообщить о  существовании платы STM32F429I-DISCO, то он сделает графику через SDRAM, да еще и FreeDOS туда загонит.

Прошу простить, погорячился. :pardon: Забыл про все эти дурацкие ограничения. :dirol:
Тогда другой метод: создаем два проекта в CubeMX для STM32F429I-DISCO. Один по умолчанию (FreeRTOS можно сразу выключить, она для STemWin не нужна),
а во втором выключаем LTDC, DMA2D, SDRAM и включаем в FMC режим LCD Interface. При этом будет доступна опция GRAPHICS, где можно выбрать графический пакет и шину через FMC.
Смысл этого всего в том, что можно создать два проекта и потом из них сделать один рабочий по принципу "здесь играем, здесь не играем, а здесь мы рыбу заворачивали..." (с)

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

з.ы. кстати, там на STM32F429I-DISCO по умолчанию перемычки на дисплей запаяны в положении IM[0..3] = 0110 --> 4-wire 8-bit serial I, SDA:In/Out
И этот сериальный интерфейс заведен на SPI5 процессора. Так что не удивлюсь, если идущий в комплекте демо-проект не использует LTDC и работает через SPI

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Baser сказал:

демо-проект не использует LTDC и работает через SPI

Гадать не придется - по SPI там только экран переводится в режим RGB и дальше работает по LTDC STM32:smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! Опять потребовался хелп!

Картина следующая: возникают артефакты (на фото плохо заметно, видео большое получается). Границы фигур (объектов) по вертикали дергаются хаотично +/- пикселей 10, как на старом телике)) при плохой настройке антенны. Кто-то сталкивался? Железо: STM32F746 + память EM63A165TS-6G. Плата не самодельная SK-STM746 + ATM0700. Все настраивал руками (ну, в КУБе, + touchGFX) добился пока этого

IMG_2070.JPG

Изменено пользователем dr.v

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/31/2020 at 8:52 AM, dr.v said:

Все настраивал руками

Я бы клоки и подключение дисплея перепроверил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...