Дисплеи от мобильных телефонов- осцилограммы работы
Ох.... как давно меня небыло
вы я вижу продвигаетесь к новым дисплеям, вот тоже затеял попробовать запустить и поработать с N95 дисплеем... за сцылки спасибо. Если будут плоды моего труда - выложу что да как 
- Реклама
О буду ждать результатов, хоть N95 уже обменял на два Сименсовых.plutonium писал(а):Ох.... как давно меня небыловы я вижу продвигаетесь к новым дисплеям, вот тоже затеял попробовать запустить и поработать с N95 дисплеем... за сцылки спасибо. Если будут плоды моего труда - выложу что да как
Для LS020 нашел в форуме http://electronix.ru/forum/index.php?sh ... start=1245 пример подключения к 32 битному Atmel.
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Этот пример не работал, вот немного поправил. + аппаратный SPId@vinchi писал(а):Вот, держи!!! мой вариант инициализации и вывода точки... да поправят меня мудрые коты если что не так...Код: Выделить всё
#define stCmd 0 #define stDat 1 void SendToLCD(uint8_t SendType, uint8_t SendData) { int8_t i; LCD_RS = SendType; for (i = 7; i >= 0; i--) { LCD_DATA = (SendData >> i) & 1; LCD_CLK = 1; LCD_CLK = 0; } }
Код: Выделить всё
#define stCmd 0
#define stDat 1
void SendToLCD(unsigned int SendType, unsigned int SendData)
{
if (SendType == 1)
{
LCD_RS=SendType;
}else{
LCD_CS=1;
LCD_RS=SendType;
LCD_CS=0;
};
SPDR = SendData;// Аппаратный SPI
/*
Програмный SPI
int i;
LCD_CLK=0;
for (i = 7; i >= 0; i--)
{
LCD_DATA = (SendData >> i) & 1;
LCD_CLK = 1;
LCD_CLK = 0;
}
*/
}
void InitLCD(void)
{
LCD_RESET = 0;
delay_ms(500);
LCD_RESET = 1;
SendToLCD(stCmd, 0x01);
SendToLCD(stCmd, 0x36); //Memory Access Control
SendToLCD(stDat, 0x80);
SendToLCD(stCmd, 0x11); //Sleep out
SendToLCD(stCmd, 0x3A); //Interfase pixel format
SendToLCD(stDat, 0x55);
SendToLCD(stCmd, 0x29); //Display ON
}
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Интересует мнение Котов!
Судя по всему все читали ДШ на контроллер дисплея LPH9157-2, а именно ILI9163...
Почитал поизучал, но так как новичек, ничего не понял)))
Интересуют след моменты, реально ли из него прочитать?
Умный кот Foks писал листинг команд которые нашел, интересно продолжил ли он работу в данном направлении?
Судя по всему все читали ДШ на контроллер дисплея LPH9157-2, а именно ILI9163...
Почитал поизучал, но так как новичек, ничего не понял)))
Интересуют след моменты, реально ли из него прочитать?
Умный кот Foks писал листинг команд которые нашел, интересно продолжил ли он работу в данном направлении?
- Реклама
В даташите соответствует примерно 70% кодов команд, но дальше структура данных для этих команд в половине случаев не точная.
Вообщем этот даташит - лучшее, что есть, но далеко от идеала.
Работу я пока не продолжаю, т.к. мой программатор (AVR Dragon) вышел из строя, и в данный момент просто как-то нету такого сильного желания, чтобы что-то с этим сделать
А вообще продолжу, конечно, но это скорее долгосрочный проект.
Вообщем этот даташит - лучшее, что есть, но далеко от идеала.
Работу я пока не продолжаю, т.к. мой программатор (AVR Dragon) вышел из строя, и в данный момент просто как-то нету такого сильного желания, чтобы что-то с этим сделать
Giggity giggity goo!
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Ну тогда попробую пояснить пару интересных команд:
Замечу, границы задаются от предыдущей.
ЗЫ Границы можно выставлять после размещения данных.
Код: Выделить всё
#define stCmd 0
#define stDat 1
SendToLCD(stCmd, 0x33); //Отправляем команду "Границы вертикальной прокрутки"
SendToLCD(stDat, 0x0E); //Фиксируем верхнюю границу
SendToLCD(stDat, 0x94); //Определяем область прокрутки
SendToLCD(stDat, 0x0E); //Фиксируем нижнюю границу
SendToLCD(stCmd, 0x37); //Отправляем команду "Вертекальная прокрутка"
SendToLCD(stDat, 0x50); //Задаем смещение
//Для выхода из режима прокрутки, а так же восстановления начального положения воспользуйтесь командой
SendToLCD(stCmd, 0x13); //Отправляем команду "Display on"
ЗЫ Границы можно выставлять после размещения данных.
А как после этого с адресацией? Координаты нужно самому пересчитать, чтобы вывести неразрывную картинку?
Giggity giggity goo!
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Координаты берутся от верхней границы, т.е. отступ сверху не высчитывается, и адрессация остаётся стандартной.
Проще всего использовать подьем по одному пикселю + перерисовку с отступа с низу(сначала подняли, потом перерисовали).
Так же из памяти дисплея можно считывать данные, этим путем мы можем узнать цвет пикселя определенной координаты, хотя я не вижу в этом смысла, имхо быстрее переписать данные, чем считывать, сравнивать и переписывать в случае необходимости...
ЗЫ Отступы верх или(и) низ можно не задавать!
Проще всего использовать подьем по одному пикселю + перерисовку с отступа с низу(сначала подняли, потом перерисовали).
Так же из памяти дисплея можно считывать данные, этим путем мы можем узнать цвет пикселя определенной координаты, хотя я не вижу в этом смысла, имхо быстрее переписать данные, чем считывать, сравнивать и переписывать в случае необходимости...
ЗЫ Отступы верх или(и) низ можно не задавать!
Перерисовывать по одной линии - плохая идея. Если нужно сразу подвинуть, например, пикселей на 20 - то это будет очень некрасиво выглядеть. Либо тогда делать это очень медленно - как будто так задумано 
Giggity giggity goo!
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Ну тогда подвинуть на 20px, потом использовать Partial Area, закрыв ей строчку 20 пикселей которую надо перерисовать(правда цвет белый получится на время зарисовки), а после зарисовки открыть, хотя возможно что собъётся скроллинг, надо тестировать.
Меня вот что интересует - есть ли команды заливки прямоугольника, либо очистки всего экрана. Потому что текст, например, у меня и так быстро выводится, но в противовес этому не всё затирается сзади этого текста, поэтому было бы неплохо быстро затирать дисплей, а выводить можно и медленно.
Giggity giggity goo!
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Такой функции я не нашел. как не старался(((
Но написал две функции, одна из которых затирает всю строку вывода, а вторая всё под символами-пробелами, ибо фон всё равно однотонной заливки.
Но написал две функции, одна из которых затирает всю строку вывода, а вторая всё под символами-пробелами, ибо фон всё равно однотонной заливки.
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Коты, есть вопрос по поводу питания, как же запитать LPH9157.
До этого всё было запитанно от 3.3в, но понадобилось подключить DS1307, для него питание 5в.
Есть варианты:
1, поставить для питания дисплея, и для каждого его входа по стабилитрону на 3.6в.
2, попробывать делитель на резисторах.
возможно они не верны, прошу указать мне путь
До этого всё было запитанно от 3.3в, но понадобилось подключить DS1307, для него питание 5в.
Есть варианты:
1, поставить для питания дисплея, и для каждого его входа по стабилитрону на 3.6в.
2, попробывать делитель на резисторах.
возможно они не верны, прошу указать мне путь
Последний раз редактировалось GaDs Вт май 03, 2011 20:15:15, всего редактировалось 1 раз.
- Сообщения: 38
- Зарегистрирован: Пн окт 22, 2007 20:30:30
Кто мешает доработать функцию? чтоб за буквами заполнялось фоновым цветом? У меня так и сделано, а еще и пробел и растояние между букв заполняется.Foks писал(а):но в противовес этому не всё затирается сзади этого текста
С подсистемой шрифтов я разберусь, просто там не доработаешь. У меня шрифты не моноширинные, а из Xorg, с поддержкой все-возможных отступов и границ.
Giggity giggity goo!
- Сообщения: 22
- Зарегистрирован: Пт апр 22, 2011 20:09:44
от nokia3250 кто-нибудь пробовал экранчег? лежит без дела и без опознавательных знаков, нигде не могу найти инфу на него. помогите 
"А теперь надо обязательно дунуть! Потому что если не дунуть, никакого чуда не произойдет!" © Амаяк Акопян
Маркировку надо на самом дисплее глянуть и на шлейфе.hatabi4 писал(а):от nokia3250 кто-нибудь пробовал экранчег? лежит без дела и без опознавательных знаков, нигде не могу найти инфу на него. помогите
- Сообщения: 22
- Зарегистрирован: Пт апр 22, 2011 20:09:44
шлейф очень короткий, на нем как и на экране ничего не написано.BigallS писал(а):Маркировку надо на самом дисплее глянуть и на шлейфе.hatabi4 писал(а):от nokia3250 кто-нибудь пробовал экранчег? лежит без дела и без опознавательных знаков, нигде не могу найти инфу на него. помогите
з.ы. хотя.., сзади экрана есть несколько цифр, но не думаю что они что-то значят, кроме как номер какой-н партии..., а сам экран вот:


"А теперь надо обязательно дунуть! Потому что если не дунуть, никакого чуда не произойдет!" © Амаяк Акопян
вот зачем лепить большие картинки еще и в плохом качестве 
[i][size=85]Не учите меня жить, лучше помогите материально...[/size][/i]


