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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Lcd12864, Какие есть идеи...или пишем видеодрайвер...
zorromen
сообщение Nov 21 2006, 19:22
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Решил написать видеодрайвер с набором всяких там функций...и собрать в отдельном блоке общающимся по SPI....типа а нарисуйка мне квадратик...говорим ей по спи...а она ..на тебе квадратик...или кружечек или даже диагдамму...
так вот проблема с кружочками и кольцами...выходят они не очень..мож есть идеи чтобы они стали круглыми?...если есть идеи какие добавить функции пишите...
Go to the top of the page
 
+Quote Post
bodja74
сообщение Nov 21 2006, 19:48
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Чем то подобным prottos занимался,вроде не бесплатный драйвер был,а может щасс и бесплатный smile.gif
Коротче поройтесь по форуму.
Лично себе делал по TWI ,без квадратиков ,просто в качестве специализированного расширителя портов чисто для ЛСД.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 21 2006, 20:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bodja74 @ Nov 21 2006, 23:48) *
Чем то подобным prottos занимался,вроде не бесплатный драйвер был,а может щасс и бесплатный smile.gif
Коротче поройтесь по форуму.
Лично себе делал по TWI ,без квадратиков ,просто в качестве специализированного расширителя портов чисто для ЛСД.
Драйвер остался платным) 100 рублей, ИМХО, для ленивых не большие деньги. Но там нет кружочков и эллипсов - там есть куча быстрых скроллингов и текста из ПП и из внешней ЕЕПРОМ СПИ...

По поводу кружочков - поиск в гугле лучше, чем ждать советов на форуме. Наберите типа "Алгоритм вывода окружности С" и будет Вам счастье


--------------------
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 21 2006, 21:21
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



у тебя по TWI как я понял.
там есть куча быстрых скроллингов и текста из ПП и из внешней ЕЕПРОМ СПИ...
извеняюсь а что ты имеешь в виду под скроллингом и что такое ПП... и что она умеет если не секрет.....
какие функции тама...особенно с текстом...
у меня просто больше на графику акцент....хотя и с текстом интересно...извеняюсь просто за что 100 рублей? может чтота стоящее?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 21 2006, 21:40
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(zorromen @ Nov 22 2006, 01:21) *
у тебя по TWI как я понял.
там есть куча быстрых скроллингов и текста из ПП и из внешней ЕЕПРОМ СПИ...
извеняюсь а что ты имеешь в виду под скроллингом и что такое ПП... и что она умеет если не секрет.....
какие функции тама...особенно с текстом...
у меня просто больше на графику акцент....хотя и с текстом интересно...извеняюсь просто за что 100 рублей? может чтота стоящее?
Вообще то у меня под подписью ссылка на мою страничку в сети))) Но уж, если лень мышкой тыкнуть вот ссылка, там все написанно http://pinokio3000.narod.ru/sourches/sed1520.htm


--------------------
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 21 2006, 22:02
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Про ссылку не знал... а тайминги это для экрана 122х32?
1. Очистка всего экрана – 1,7 мс;
2. Закраска всего экрана – 1,86 мс;
3. Инвертирование всего экрана – 1,89 мс
для 128х64 пойдет?(не тайминги а программа без особых изменений)
мне чесно понравился размер!..но это без знакогенератора..ведь массив знаков место занимает немалое...это скока еще места...
канечно спасибо за новые идеи...хотя и размер будет больше (у меня)...но это ведь внешний видеодрайвер...и можна подзавязку его заполнить всякими функциями...

странно у тебя очистка всего экрана занимает почти столько сколько и инвертирование всего экрана...
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 21 2006, 22:21
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(zorromen @ Nov 22 2006, 02:02) *
Про ссылку не знал... а тайминги это для экрана 122х32?
да

Цитата(zorromen @ Nov 22 2006, 02:02) *
для 128х64 пойдет?(не тайминги а программа без особых изменений)
Так как команды, в принципе, одинаковые, то, человеку, хорошо знакомому с Си переделать под 128х64, ИМХО, большого труда не стоит. Кстати, на странице по ссылке выше, есть и безвозмездно(те даром)))) предлагаемый драйвер с описателями всех команд ЖКИ 122х32 на базе SED1520. Можете сравнить...

Цитата(zorromen @ Nov 22 2006, 02:02) *
мне чесно понравился размер!..но это без знакогенератора..ведь массив знаков место занимает немалое...это скока еще места...
канечно спасибо за новые идеи...хотя и размер будет больше (у меня)...но это ведь внешний видеодрайвер...и можна подзавязку его заполнить всякими функциями...
ИМХО лучше применить контроллер подешевле, а все константы хранить во внешней ЕЕПРОМе. Может быть М48 + 25256А или 45DBxxx

Цитата(zorromen @ Nov 22 2006, 02:02) *
странно у тебя очистка всего экрана занимает почти столько сколько и инвертирование всего экрана...
Так как экран графический, в любом случае приходится считывать весь байт, потом накладывать маску поля, с которым мы работаем, потом производить модификацию (инверсия или закраска, какая разница?), потом возвращать модифицированный байт на место


--------------------
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 21 2006, 22:32
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Панятна...у тебя одна функция на очистку и на инверсию...но ведь на очистку целого экрана ненадо считывать байт...а просто записать 0х00, а это ведь экономия времени в 2 раза.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 21 2006, 22:43
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(zorromen @ Nov 22 2006, 02:32) *
Панятна...у тебя одна функция на очистку и на инверсию...но ведь на очистку целого экрана ненадо считывать байт...а просто записать 0х00, а это ведь экономия времени в 2 раза.
Конечно. Можно написать отдельную функцию, которая будет очищать весь экран. Это тривиальная задача. Но если есть необходимость закрачить не весь экран а какую то область, заданную координатами? Для такой функции и даны тайминги.

Функция имеет вид LCD_SetScreen(x1, x2, y1, y2, option), где x1,y1 - верхний левый угол в пикселах, x2,y2 - нижний правый, option - действие (закраска, очистка, инверсия).

Кстати, здесь, на форуме, где то были исходники, не поленитесь, поищите. Но скроллинга и вывода графики там, по моему нет


--------------------
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 21 2006, 23:05
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Небуду искать потому что я сам уже написал и пролне быструю...у тебя видимо происходит чтение байта из экрана когда ты пишешь 0 или 0хFF а зачем это потеря времени...я сделал проще дал условие если закрашиваемая или очищаемая область помещается в одной странице то байт не читаем из экрана..т.е. экономия и универсальность........
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 21 2006, 23:10
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(zorromen @ Nov 22 2006, 03:05) *
Небуду искать потому что я сам уже написал и пролне быструю...у тебя видимо происходит чтение байта из экрана когда ты пишешь 0 или 0хFF а зачем это потеря времени...я сделал проще дал условие если закрашиваемая или очищаемая область помещается в одной странице то байт не читаем из экрана..т.е. экономия и универсальность........
нюню... Если изменяемая область, допустим находится одном байте, к примеру с бита №3 по бит №5. Пишем в этот байт, а что за пределами этих битов нам по барабану... Круто... Ваши проекты, дяденька, только в космос... На солнце....Ночью...


--------------------
Go to the top of the page
 
+Quote Post
bodja74
сообщение Nov 21 2006, 23:32
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



>>закрашиваемая или очищаемая область помещается в одной странице
Тоесть влазит в 512байт ,тоесть в оперативку м8\м16,тоесть читать можно из РАМ а не из ЛСД. smile.gif

ЗЫ у МТ12864 две страницы.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 21 2006, 23:58
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bodja74 @ Nov 22 2006, 03:32) *
>>закрашиваемая или очищаемая область помещается в одной странице
Тоесть влазит в 512байт ,тоесть в оперативку м8\м16,тоесть читать можно из РАМ а не из ЛСД. smile.gif
ЗЫ у МТ12864 две страницы.


Значит так: в МТ12864 есть 8 (восемь) страниц smile.gif , а не две, распередленных поровну между двумя кристаллами. Один управляет левой стороной, другой - как вы догадались, правой. У каждого кристалла таким образом четыре страницы. Каждая страница шириной в 64 пиксела и высотой в 8, т.о. байты в одной странице размещены вертикально.

Я написал свой драйвер так, что при желании его можно впихнуть даже в тини2313. ИМХО, использовать под ЖКИ 512 байт (для 122х32, для 128х64 - 1024 кБайт) расточительно, выйгрыш же по скорости (ИМХО) не значительный, поверьте - опыт есть)))


--------------------
Go to the top of the page
 
+Quote Post
bodja74
сообщение Nov 22 2006, 00:33
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(prottoss @ Nov 21 2006, 23:58) *
Значит так: в МТ12864 есть 8 (восемь) страниц smile.gif , а не две, распередленных поровну между двумя кристаллами. Один управляет левой стороной, другой - как вы догадались, правой. У каждого кристалла таким образом четыре страницы. Каждая страница шириной в 64 пиксела и высотой в 8, т.о. байты в одной странице размещены вертикально.

Неа,то что вы называете левой\правой стороной -называется страницами
А то что вы называете страницей,является строчкой.
Даже если рассуждать логичеки ,оно так и есть.
Цитата
Я написал свой драйвер так, что при желании его можно впихнуть даже в тини2313. ИМХО, использовать под ЖКИ 512 байт (для 122х32, для 128х64 - 1024 кБайт) расточительно, выйгрыш же по скорости (ИМХО) не значительный, поверьте - опыт есть)))

Согласен полностью,но подобное я к сожалению не смог применить для своего драйвера,мне нужно было принять данные по шине на приличной скорости не дожидаясь вывода на ЛСД,тоесть буфером служила РАМ.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 22 2006, 00:51
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bodja74 @ Nov 22 2006, 04:33) *
Неа,то что вы называете левой\правой стороной -называется страницами
А то что вы называете страницей,является строчкой.
Даже если рассуждать логичеки ,оно так и есть.
Да Бог с вами))) Называйте так, как Вам нравится, я называю так, как написанно в даташите на MT12864


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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