реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> stm32f429disco работа с экраном
Мур
сообщение Jan 22 2016, 15:02
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Кто подскажет, мужики, что это может быть?...
Модифицирую код, написанный до меня с применением emWIN и вижу странность...
Квадратики и круги, что я рисую с цветным заполнением, при вызове функций, каждый раз меняют свой цвет по насыщенности и даже оттенку. Через 4-5 вызовов цвет стабилизируется. Откуда ноги растут? Какая настройка на это влияет?
Может кто-то сталкивался? Спасибо!
Go to the top of the page
 
+Quote Post
Мур
сообщение Feb 2 2016, 12:57
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



https://www.youtube.com/watch?v=u_TVAudWabI
Go to the top of the page
 
+Quote Post
Мур
сообщение Feb 12 2016, 12:35
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Мур @ Jan 22 2016, 19:02) *
Кто подскажет, мужики, что это может быть?...
Квадратики и круги, что я рисую с цветным заполнением, при вызове функций, каждый раз меняют свой цвет по насыщенности и даже оттенку. Через 4-5 вызовов цвет стабилизируется.

GUI_SetAlpha(0); - убирает этот эффект
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 24 2016, 12:54
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



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

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

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

Заранее спасибо! tort.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 24 2016, 13:15
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Мур @ Mar 24 2016, 15:54) *
GUI_FillRect(0,0,800,480);

Не по теме вопроса, просто придирка: а разве не так нужно писать "GUI_FillRect(0,0,799,479);"?
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 24 2016, 13:28
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



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


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

Повторил с вашим замечанием. Все аналогично! (((
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 24 2016, 16:58
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



А попробуйте видеобуфер в лоб очищать, каким-нибудь memset-ом ...


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 24 2016, 17:33
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



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

Коли так, фтопку эту блюмблюатеку. Накодить самому. Во всяком случае, у меня так и сделано. Ничего сверхъестественного там нет: прямоугольник, картинка, текст. Во всяком случае, всё понятно, никаких танцев с бубном. И летает.
Кстати, а по какому случаю танцуем? Мануала совсем нет что ли? Или толмач в отпуске?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 25 2016, 05:40
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(scifi @ Mar 24 2016, 20:33) *
Кстати, а по какому случаю танцуем? Мануала совсем нет что ли? Или толмач в отпуске?

lol.gif
Я уже приводил хомут в примерах ST. На сколько я понимаю, там ничего не может быть "защищено". Нет там такой функции в железе. Есть понятие "водяной знак", это когда возникает прерывание при обращении в определённую область видеобуфера. Но прерывание то обработать нужно. Скорее всего происходит какая-то потеря информации при транзакции DMA2D.
Go to the top of the page
 
+Quote Post
pvo125
сообщение Mar 25 2016, 15:32
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 9-04-14
Из: Черногорск Хакасия
Пользователь №: 81 299



Цитата
Остаются хвосты от 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
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01445 секунд с 7
ELECTRONIX ©2004-2016