Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 21.08.2025
Сообщений: 19

Проблемы с partial выводом на LVGL через DMA2D на дисплей на драйвере NT35510 на stm32h723zgt6

06.12.2025, 00:53. Показов 2564. Ответов 21

Здраствуйте, начал осваивать LVGL и захотелось оптимизировать вывод на экран, так как моя первоначальная функция копирования буфера в память дисплея была не особо быстрой. Почитал пару решений и остановился на dma2d с прерыванием, который, к тому же учитывая асинхронность работы буферов из-за режима рендера partial копировал буфер в дисплей пока другой заполняется, что бы намного ускорило работу. Но, когда я переписал прошлый вариант вывода на дма2d было замечено, что при отрисовке малых обьектов(таких как анимацию slider или банальное нажатие кнопки), сопровождается сильными артефактами в этой зоне, хотя при отрисовки всего экрана например при скроллинге артефактов нет. При использовании режима рендера full проблем не возникает, так как он при малейшем изменении экрана отрисовывает его заново, но это крайне неэффективно. Мои догадки пока падают на адресацию, но пока я ничего не добился в решении проблемы.
В функцию my_flush_cb я получаю массив пикселей с его границами(так как вывод через рендер partial, максимальный размер буфера составляет не весь экран), команда LCD_SetWindows устанавливает начало и размер адреса дисплея LCD(LCD->LCD_RAM) в нужное положение, далее начинаю dma2d с указанием всех нужных параметров и дисплей успешно показывает часть экрана(при отрисовке всего экрана), в последующих итерациях буферы меняются местами пока не заполнят дисплей статическими элементами полностью, и дальше они только обновляют анимацию(криво).
Сам дисплей работает через FSMC SDRAM 16bit парралелька
Хочется решить проблему с отрисовкой анимированных элементов.
Вставлю только main.c, т.к весь проект загрузить не позволяет
Вложения
Тип файла: rar LVGLDma2dtst.rar (4.8 Кб, 12 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2025, 00:53
Ответы с готовыми решениями:

Белый экран на дисплее при управлением восьмибитной параллельной шиной для ili9341 на stm32h723zgt6
Здравствуйте, я начинающий в STM32, решил попробовать запустить и поуправлять дисплеем 2.4" TFT LCD...

Уменьшение яркости дисплея 7 сегментов дисплея
Здравствуйте. Есть плата nucleo f103, на которую подключена плата расширения Arduino Multi-function...

Проблемы с выводом значений на дисплей
Добрый день. Сам только начинающий в этом деле. Задача состоит в том, чтобы выводить значения с...

21
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,714
12.12.2025, 14:14
Вот у меня происходит уменьшения числа и вывод при каждом декременте значения на экран, вроде тоже артефакты с права но это всего навсего оставшиеся данные в памяти экрана с прошлого вывода. Поэтому прежде чем записать в память экрана новое значения нужно произвести пререрасчёт со старым и если данные остаются за границами нового значения то нужно их подчистить.

0
0 / 0 / 0
Регистрация: 21.08.2025
Сообщений: 19
14.12.2025, 20:25  [ТС]
VladimirU, Да, первый вариант, после шарика так остаётся, когда шарик перемещается

Добавлено через 3 минуты
VladimirU, Я пробовал чистить, и не помогает, да и тем более сам LVGL буферы подчищает когда их заполняет
ещё у меня эти полоски есть статичные с боков экрана, на них scroll не влияет, по ширине они как ширина буфера у меня в partial render, хотя по адресам всё норм
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2025, 20:25

Меню проблемы с очисткой дисплея (CVAVR)
Добрый день. Писал простетское меню, один уровень всего. 1. Проверка FCU 2. Проверка FUC ...

Проблема с дисплеем MT-10T7
В общем надыбал я при помощи хорошего человека, 5 дисплеев типа MT-10T7, и потребовалось сделать...

Проблема с подключением OLED дисплея
Всем привет. Прошу помощи, ибо сложившаяся ситуация ставит меня в тупик :( Итак, у меня есть...

Проблема с подключением знакосинтезирующего дисплея winstar
Проглядел форум, такой проблемы не нашёл. Суть проблемы - подключил winstor WH1602-YGH-CTK# к...

Проблема с дисплеем и LTDC
Здравствуйте, прошу помощи. Пытаюсь осилить программирование под микроконтроллеры. Суть: есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru