Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32f429disco работа с экраном
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
domowoj
Здравствуйте друзья!
Пришла мне наконец вышеупомянутая плата.
Но вот вопрос, что дальше и как?
Наверняка же существуют стандартные библиотеки
работы с ЛСД и тачскрином.
Ткните пожалуйста носом, где взять.
adnega
Цитата(domowoj @ Jun 3 2015, 21:37) *
Ткните пожалуйста носом, где взять.
Тут смотрели?

CODE
ADC_DMA
ADC_DualModeInterleaved
ADC_TripleModeInterleaved
DAC_SignalsGeneration
DMA2D_MemToMemWithBlending
DMA2D_MemToMemWithPFC
EXTI_Example
FLASH_DualBoot
FLASH_Program
FLASH_WriteProtection
FMC_SDRAM
FMC_SDRAM_LowPower
IWDG_Example
LTDC_AnimatedPictureFromUSB
LTDC_ColorKeying
LTDC_Display_2Layers
MEMS_Example
PWR_CurrentConsumption
PWR_STANDBY
PWR_STOP
RCC_ClockConfig
RCC_CSS
SysTick_Example
TIM_PMWOutput
Touch_Panel
Эдди
Эти "стандартные" библиотеки — настолько индусокодная жесть, что лучше сразу свое писать, а туда даже не заглядывать!!!
mantech
Цитата(Эдди @ Jun 4 2015, 07:48) *
Эти "стандартные" библиотеки — настолько индусокодная жесть, что лучше сразу свое писать, а туда даже не заглядывать!!!


Ну да, к пенсии напишете biggrin.gif
А если серьезно - тупо копировать оттуда в рабочий проект - это глупо, а с доработками - самое оно!
adnega
Цитата(Эдди @ Jun 4 2015, 07:48) *
Эти "стандартные" библиотеки — настолько индусокодная жесть, что лучше сразу свое писать, а туда даже не заглядывать!!!

ТС просил стандартного. Если у вас есть библиотеки лучше, то дайте ссылочку ТС.

Цитата(mantech @ Jun 4 2015, 08:23) *
А если серьезно - тупо копировать оттуда в рабочий проект - это глупо, а с доработками - самое оно!

Можно даже не копировать, но заглядывать - обязательно!
Obam
К плате нет никакой документации?
Тип дисплея, цоколёвка известны?

По собственному опыту я посоветовал бы обзавестись ДШ на дисплей и контроллер: хорошая точка старта.
SasaVitebsk
Цитата(Obam @ Jun 4 2015, 10:37) *
К плате нет никакой документации?

rolleyes.gif
Плата родная от ST. Куча примеров с исходниками лежит в кубе4. Оттуда брать и инициализацию дисплея, так как TFT с контролером каким-то.

2 mantech. Для некоторых дров особо альтернативы не просматривается. Например дрова Ethernet или USB.
[DELETED]
Genadi Zawidowski
Дисплей там с контроллером ILI9341, можно работать по SPI а можно после инициализации переключить в RGB MODE и работать с тем, что ему выдаёт LTDC процессора.
Работая с 8 или 16 бит цветом, вполне можно обойтись внутренней памятью процессора, не инициализируя SDRAM.
На схеме указан тип дисплейного модуля, он вполне гуглится.
domowoj
Цитата(Genadi Zawidowski @ Jun 5 2015, 23:50) *
Дисплей там с контроллером ILI9341...

Посмотрел даташит на ILI9341, что-то слабо мне с ним справиться.
Попробовал стандарну библиотеку для LCD из пакета stm32f429disco,
а у меня демо версия Кейла и 32К, разрешенных мне, не хватает.
Что делать?
Урезать библиотеку под свои цели?
Поискать в инете что-нибудь?
Купить Кейл-жеба давит.
Найти кряк - ...?
Что посоветуете.
mantech
Цитата(domowoj @ Jun 13 2015, 17:14) *
Найти кряк - ...?
Что посоветуете.


Ясно дело biggrin.gif Пока не купил иар для серьезных проектов, так и пользовался...
Genadi Zawidowski
Цитата(domowoj @ Jun 13 2015, 17:14) *
Посмотрел даташит на ILI9341, что-то слабо мне с ним справиться.
Попробовал стандарну библиотеку для LCD из пакета stm32f429disco,
а у меня демо версия Кейла и 32К, разрешенных мне, не хватает.
Что делать?
Урезать библиотеку под свои цели?
Поискать в инете что-нибудь?
Купить Кейл-жеба давит.
Найти кряк - ...?
Что посоветуете.


В даташит можете не очень внимательно смотреть - в исходниках десяток строк инициализации дисплея и перевод его в RGB MODE - после этого в него через LTDC идут пиксели, сопровождвемсые клоком, строчной и кадровой синхронизацией.
Если надо БЕЗ ltdc, тогда да - даташит или мои исходники (у меня и "выжимка" из ST-шного примра по работе с LTDC).
https://188.134.5.254/browser/hfreceiver/trunk/st7735.c - инициализация ILI9341
https://188.134.5.254/browser/hfreceiver/trunk/graphltdc.c - инициализация LTDC
https://188.134.5.254/browser/hfreceiver/trunk/display.c - работа с фреймбуфером - вывдод текста

По поводу компилятора - посоветую использовать https://launchpad.net/gcc-arm-embedded
Мур
Забавный прикол наблюдаю...
Вывожу на экран строки символов и вижу, что по центру экрана 800*480 живет эмблема фирмы STMicroelectronics....
https://upload.wikimedia.org/wikipedia/id/t...electronics.png

Наверняка тут много народа это проходило! Как от этого избавиться? В каком месте подгружается этот слой? Что это за файл? ( Уж не STM32F429\Projects\Demonstration\Core\Demo\Res\background.c?)
C конвертированием своей эмблемы я сам разберусь...
Цитата


Спасибо!
Мур
Нет, это не background.с...
Мур
static GUI_CONST_STORAGE unsigned long _acSTLogo[] = {...}
В файле startup_res.c
Lagman
У компэла были семинары в 13 году, на сайте лежали демо проекты и презентации, по ним можно поучиться.
Сайт заработал вот сслыка http://www.compel.ru/lib/seminar-materials...-sdram-pamyatyu
Мур
Кто подскажет, мужики, что это может быть?...
Модифицирую код, написанный до меня с применением emWIN и вижу странность...
Квадратики и круги, что я рисую с цветным заполнением, при вызове функций, каждый раз меняют свой цвет по насыщенности и даже оттенку. Через 4-5 вызовов цвет стабилизируется. Откуда ноги растут? Какая настройка на это влияет?
Может кто-то сталкивался? Спасибо!
Мур
Цитата(Мур @ Jan 22 2016, 19:02) *
Кто подскажет, мужики, что это может быть?...
Квадратики и круги, что я рисую с цветным заполнением, при вызове функций, каждый раз меняют свой цвет по насыщенности и даже оттенку. Через 4-5 вызовов цвет стабилизируется.

GUI_SetAlpha(0); - убирает этот эффект
Мур
Мужики! Банальная задача - очистка экрана... help.gif
По быстренькому...
Такой прямой функции не обнаружил, потому сделал "в лоб".
GUI_SelectLayer(0);
GUI_SetColor(0x00ffffff);
GUI_FillRect(0,0,800,480);

Ага.... Очистило, но не все.
Повтор того же набора с GUI_SelectLayer(1); не помогает...

Остаются хвосты от PROGBAR_SetValue (....). Там какая-то защита есть на очистку? Что за хрень? Может кто изучал вопрос? Все изображения на экране исчезают, ..кроме этих "квадратов Прогресса"...
Как очистить ВЕСЬ экран?

Заранее спасибо! tort.gif
scifi
Цитата(Мур @ Mar 24 2016, 15:54) *
GUI_FillRect(0,0,800,480);

Не по теме вопроса, просто придирка: а разве не так нужно писать "GUI_FillRect(0,0,799,479);"?
Мур
Цитата(scifi @ Mar 24 2016, 17:15) *
Не по теме вопроса, просто придирка: а разве не так нужно писать "GUI_FillRect(0,0,799,479);"?


... да лишь бы вытирало!... Не критично (Я и раньше делал такие ошибки(синдром 1)). Видимо аппаратно это защищено...

Повторил с вашим замечанием. Все аналогично! (((
hd44780
А попробуйте видеобуфер в лоб очищать, каким-нибудь memset-ом ...
scifi
Цитата(hd44780 @ Mar 24 2016, 19:58) *
А попробуйте видеобуфер в лоб очищать, каким-нибудь memset-ом ...

Коли так, фтопку эту блюмблюатеку. Накодить самому. Во всяком случае, у меня так и сделано. Ничего сверхъестественного там нет: прямоугольник, картинка, текст. Во всяком случае, всё понятно, никаких танцев с бубном. И летает.
Кстати, а по какому случаю танцуем? Мануала совсем нет что ли? Или толмач в отпуске?
SasaVitebsk
Цитата(scifi @ Mar 24 2016, 20:33) *
Кстати, а по какому случаю танцуем? Мануала совсем нет что ли? Или толмач в отпуске?

lol.gif
Я уже приводил хомут в примерах ST. На сколько я понимаю, там ничего не может быть "защищено". Нет там такой функции в железе. Есть понятие "водяной знак", это когда возникает прерывание при обращении в определённую область видеобуфера. Но прерывание то обработать нужно. Скорее всего происходит какая-то потеря информации при транзакции DMA2D.
pvo125
Цитата
Остаются хвосты от PROGBAR_SetValue (....). Там какая-то защита есть на очистку? Что за хрень? Может кто изучал вопрос? Все изображения на экране исчезают, ..кроме этих "квадратов Прогресса"...
Как очистить ВЕСЬ экран?


Не совсем понятно что такое хвосты от PROGBAR_SetValue (....) (Вроде функция по установке значения для PROGBARa) Так как PROGBAR это виджет и он перерисовывается Window Managerom то попробуйте перед очисткой удалять этот виджет или закрывать его .
Код
WM_HWIN  hWin;
hWin=WM_GetDialogItem(WM_HWIN hDialog, int Id);

WM_HideWindow(hWin);  // Скрыть окно
WM_DeleteWindow(hWin);  // Удалить окно


Затем уже пробуйте очищать GUI_FillRect(0,0,800,480);

WM_HWIN hDialog это Handle родительского окна в котором вы создали PROGBAR ( ну или так WM_HBKWIN). Лучше сначала скрывать очищать и снова показывать этот виджет если он нужен (WM_Show Window()wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.