|
Lcd12864, Какие есть идеи...или пишем видеодрайвер... |
|
|
|
Nov 21 2006, 22:21
|

Гуру
     
Группа: Свой
Сообщений: 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)  странно у тебя очистка всего экрана занимает почти столько сколько и инвертирование всего экрана... Так как экран графический, в любом случае приходится считывать весь байт, потом накладывать маску поля, с которым мы работаем, потом производить модификацию (инверсия или закраска, какая разница?), потом возвращать модифицированный байт на место
--------------------
|
|
|
|
|
Nov 21 2006, 22:43
|

Гуру
     
Группа: Свой
Сообщений: 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 - действие (закраска, очистка, инверсия). Кстати, здесь, на форуме, где то были исходники, не поленитесь, поищите. Но скроллинга и вывода графики там, по моему нет
--------------------
|
|
|
|
|
Nov 21 2006, 23:58
|

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

|
Цитата(bodja74 @ Nov 22 2006, 03:32)  >>закрашиваемая или очищаемая область помещается в одной странице Тоесть влазит в 512байт ,тоесть в оперативку м8\м16,тоесть читать можно из РАМ а не из ЛСД. ЗЫ у МТ12864 две страницы. Значит так: в МТ12864 есть 8 (восемь) страниц  , а не две, распередленных поровну между двумя кристаллами. Один управляет левой стороной, другой - как вы догадались, правой. У каждого кристалла таким образом четыре страницы. Каждая страница шириной в 64 пиксела и высотой в 8, т.о. байты в одной странице размещены вертикально. Я написал свой драйвер так, что при желании его можно впихнуть даже в тини2313. ИМХО, использовать под ЖКИ 512 байт (для 122х32, для 128х64 - 1024 кБайт) расточительно, выйгрыш же по скорости (ИМХО) не значительный, поверьте - опыт есть)))
--------------------
|
|
|
|
|
Nov 22 2006, 00:33
|
Знающий
   
Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984

|
Цитата(prottoss @ Nov 21 2006, 23:58)  Значит так: в МТ12864 есть 8 (восемь) страниц  , а не две, распередленных поровну между двумя кристаллами. Один управляет левой стороной, другой - как вы догадались, правой. У каждого кристалла таким образом четыре страницы. Каждая страница шириной в 64 пиксела и высотой в 8, т.о. байты в одной странице размещены вертикально. Неа,то что вы называете левой\правой стороной -называется страницами А то что вы называете страницей,является строчкой. Даже если рассуждать логичеки ,оно так и есть. Цитата Я написал свой драйвер так, что при желании его можно впихнуть даже в тини2313. ИМХО, использовать под ЖКИ 512 байт (для 122х32, для 128х64 - 1024 кБайт) расточительно, выйгрыш же по скорости (ИМХО) не значительный, поверьте - опыт есть))) Согласен полностью,но подобное я к сожалению не смог применить для своего драйвера,мне нужно было принять данные по шине на приличной скорости не дожидаясь вывода на ЛСД,тоесть буфером служила РАМ.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|