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

 
 
> T6963C - снова вопросы, требуется совет от глубоко копнувших тему
ARV
сообщение Jan 17 2012, 07:18
Сообщение #1


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



пытаюсь понять, как работать с этим контроллером (дисплей 128х160 WinStar). главное, что меня интересует: могу ли я использовать имеющуюся на борту контроллера память в качестве буферной для графики? ее вроде гораздо больше, чем нужно для одного экрана, хочу сделать видимую и фоновую страницы, чтобы пока смотрим на видимую, рисовать в фоновой, а потом резко поменять их местами.

но документация моему скромному уму не поддается, я с этой адресацией не могу понять - реально это сделать или нет? если кто разобрался с этой темой - подскажите, пожалуйста! обычно для графических дисплеев в документации показано какое-то графическое соотношение между адресами памяти и позициями на дисплее - тут же нету этого, а по словесному описанию не врубаюсь sad.gif



--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ohmjke
сообщение May 12 2012, 19:24
Сообщение #2


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

Группа: Участник
Сообщений: 116
Регистрация: 27-01-10
Из: СПб
Пользователь №: 55 094



Тоже имеются траблы с этим контроллером. Точнее - RA6963 от Raio, но читал, что он полностью совместим с тошибовским.
Дисплей - WG24064A.
Для начала приведу часть кода инициализации:
Код
uint32_t i;
// здесь настройка портов и сброс
    lcd_write_data (0);
    lcd_write_data (0);
    lcd_send_cmd (0x40); // Set Text Home Address

    lcd_write_data (30);
    lcd_write_data (0);
    lcd_send_cmd (0x41); // Set Text Area

    lcd_write_data (0x00);
    lcd_write_data (0x08);
    lcd_send_cmd (0x42); // Set Graphic Home Address

    lcd_write_data (30);
    lcd_write_data (0);
    lcd_send_cmd (0x43); // Set Graphic Area

    lcd_send_cmd (0x81); // Internal CG ROM mode, EXOR mode
    lcd_send_cmd (0x98); // Text off, graphic on, cursor off

После инициализации выполняю такой цикл:
Код
lcd_write_data (0x00);
lcd_write_data (0x08);
lcd_send_cmd (0x24); // указатель адреса на "Graphic Home Address"
for (i = 0; i < 1920; i++) {
    lcd_write_data (0x00);
    lcd_send_cmd (0xC0); // посылаем байт данных, авто-инкремент указателя адреса
};

По идее, после выполнения этого кода экран должен полностью очиститься, но на деле не совсем так, последние несколько(вроде бы 64) точек последней строки остаются заполненными случайными значениями.
Если медленно выполнять запись "пустых" байтов и следить за происходящим, то видно, что на подходе к концу текущей стираемой строки(т.е. данная строка еще не стерлась полностью, осталось достаточно много), начинает стираться следующая за ней строка! Ума не приложу, что за фигня происходит.
Да и просто после этой "недоочистки" если попробовать записать байт в произвольное место, то, скажу кратко - на экране отображается не то, что должно быть.
Ну и пара небольших вопросов:
Понятия "курсор" в отношении данного дисплея действительно лишь в текстовом режиме?
Не совсем понятно, зачем нужен Offset регистр, что это за смещение? Если использовать только графический режим, можно ли вообще не трогать этот регистр?
Также не ясно, какую память выбрать - Internal CG ROM, или External CG RAM.
Пересмотрел достаточно исходников, вроде как у меня все аналогично, но проблема откуда-то появилась...
И да, даташит:


Сообщение отредактировал ohmjke - May 12 2012, 19:30
Прикрепленные файлы
Прикрепленный файл  RA6963.pdf ( 1.19 мегабайт ) Кол-во скачиваний: 59
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ARV   T6963C - снова вопросы   Jan 17 2012, 07:18
- - Alex A. Mihaylov   Да можно Суть в следующем - назначаете адрес граф...   Jan 17 2012, 08:55
- - ARV   большое спасибо! я примерно так и думал. еще ...   Jan 17 2012, 09:18
|- - Alex A. Mihaylov   Этот контроллер может работать с разными размерами...   Jan 17 2012, 09:29
|- - ARV   Цитата(Alex A. Mihaylov @ Jan 17 2012, 13...   Jan 17 2012, 12:43
- - ohmjke   Блиин, кто бы мог подумать, вся эта ерунда была ок...   May 12 2012, 23:41
- - ohmjke   Не могу понять, из-за чего происходит искажение. В...   May 29 2012, 13:41
|- - Genadi Zawidowski   Цитата(ohmjke @ May 29 2012, 17:41) Не мо...   May 29 2012, 20:25
|- - ohmjke   Цитата(Genadi Zawidowski @ May 30 2012, 00...   May 30 2012, 00:22
|- - Genadi Zawidowski   Цитата(ohmjke @ May 30 2012, 04:22) Да, д...   May 30 2012, 18:58
|- - ohmjke   Не уверен в расчетах, так как неизвестно сколько в...   May 30 2012, 22:16
- - Genadi Zawidowski   То, что стало хуже - не наводит на размышления? В ...   Jun 1 2012, 06:17
- - ohmjke   Пробовал по-всякому - ничего не помогает. Может ли...   Sep 5 2012, 11:19
|- - Genadi Zawidowski   Цитата(ohmjke @ Sep 5 2012, 15:19) Пробов...   Sep 5 2012, 19:08
- - ohmjke   Сегодня наконец-то нашел косяк - видимо, один из р...   Jun 11 2013, 12:06


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 02:57
Рейтинг@Mail.ru


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