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

 
 
 
Reply to this topicStart new topic
> Логические экраны
uragan90
сообщение Dec 8 2013, 16:35
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Друзья, здравствуйте!
Сразу извенюсь за грамматические ошибки в тексте.
Есть такой вопрос
У меня есть функция вывода пикселя на экран
pixel(x,y,color); и на ней организовано вся библиотека рисования приметивов на TFT димплее.
У меня встала задача смешения двух изображений при выводе на экран, точнее сетки и нарисованного на ней сигнала с ацп.
Экран мигает жутко!
У меня родилась идея смешения нескольких изображений в месте и вывода их на физический экран.
Идея в следюющем, создать структуру некого поля регистрации, а в частности нескольких логических экранов так чтоб выше описанная функция приняла вид
pixel(x,y,color,disp1);
Тоесть создать логический экран и функция вывода бы решала что выводить на физический экран, сигнал одного из каналов ацп либо сетку пробегая курсором по экрану регистрации.
Подскажите как проще и без затратно решить проблему!
Сам я вижу такой выход
struct pixel {
int x,y;
union disp {
disp1, disp2, disp3;
}
}
Помогите идеей или если это лажа оградите от лишнего труда :-)
Go to the top of the page
 
+Quote Post
lekintr
сообщение Dec 8 2013, 16:55
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 10-10-13
Пользователь №: 78 684



Цитата(uragan90 @ Dec 8 2013, 20:35) *
У меня есть функция вывода пикселя на экран


попробуйте смешать данные до вывода на экран.

Сообщение отредактировал lekintr - Dec 8 2013, 20:20
Go to the top of the page
 
+Quote Post
Plain
сообщение Dec 8 2013, 17:25
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Есть большая вероятность, что мигают сами по себе либо кривая библиотека, либо кривой дисплей, это далеко не редкость.
Go to the top of the page
 
+Quote Post
uragan90
сообщение Dec 8 2013, 19:42
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Plain,
В отдельности сетка и сигнал не мигают, мигают лишь тогда когда я вывожу сетку и потом сигнал, видимо изза того что изображения не смешаны, уначале рисуется сетка потом сигнал!
Мне же нужно както смешать воедино
Go to the top of the page
 
+Quote Post
Plain
сообщение Dec 8 2013, 20:26
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Если Вы попеременно выводите два разных кадра, то разумеется будет мигать, как и любой стереотелевизор. Можете засинхронизировать с Вашим экраном какие-нибудь стереоочки — мигать перестанет и сетка смешается с синусом в пропорции 50%. Вот ровно то же самое (т.е. хотя бы среднее арифметическое) Вам и надо сделать программно, на ходу, и безо всяких буферных памятей.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 9 2013, 06:14
Сообщение #6


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Обычно чтоб не мигало имеют минимум две страницы, рисуют в неактивную страницу, все логические операции делают при собственно рисовании, по окончании рисования меняют местами указатели на страницу вывода и страницу отображения. Для синхронизации, если отображение происходит в прерывании, там имеется своя локальная копия указателя страницы вывода. Если нет времени на полную очистку экрана перед заполнением (похоже на Ваш случай)- заводим отдельно буфер для вывода пар точек графика, потому что при обновлении с очисткой будет проще выводить эти пары точек XORом
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:42
Рейтинг@Mail.ru


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