Дисплеи от мобильных телефонов- осцилограммы работы
- Сообщения: 1
- Зарегистрирован: Пн мар 05, 2012 20:35:09
- Реклама
- Сообщения: 91
- Зарегистрирован: Сб авг 11, 2012 22:31:57
Люди, у кого есть библиотека для C++ на дисплей lph9157-2? Или готовые исходники может кто то выложить под IAR?
- Сообщения: 91
- Зарегистрирован: Сб авг 11, 2012 22:31:57
Люди, ну киньте плиз какие нибудь сорцы на lph9157-2
- Сообщения: 11
- Зарегистрирован: Вт мар 27, 2007 06:18:14
Вопрос по LPH9157-2 : с инициализацией и работой понятно, но перед выключением вроде как надо его деинициализировать а как?
Переделываю проект http://cxem.net/avto/electronics/4.php Бортовой компьютер для ВАЗ с цветным дисплеем и тачскрином (для ЭБУ Январь) под STM32F100C8T6 + LPH9157-2 , но до конца еще далеко.
Переделываю проект http://cxem.net/avto/electronics/4.php Бортовой компьютер для ВАЗ с цветным дисплеем и тачскрином (для ЭБУ Январь) под STM32F100C8T6 + LPH9157-2 , но до конца еще далеко.
- Сообщения: 454
- Зарегистрирован: Вс янв 15, 2012 19:58:40
Для LPH9157-2
0x28 Display OFF
0x29 Display ON
0x28 Display OFF
0x29 Display ON
Ни один домашний кот незнает что он домашний.
- Реклама
- Сообщения: 11
- Зарегистрирован: Вт мар 27, 2007 06:18:14
И еще про LPH9157-2.
команда 0x36 - Установка направлений заполнения прямоугольника CASET x PASET.
Один параметр 0bVHRXXXXX
Дисплей лицом к нам , чипом к верху, контакты сзади снизу.
Если V=0 H=0 R=0 то заливка идет стороками пикселей слева направо, строкой ниже
и снова слева на право
Точка 0,0 -верхний левый угол,, 132,175 - правый нижний.
Меняя V и H меняем направление заливки и положение конечных точек.
НО!! В любом варианте вначале будет заливать вдоль короткой стороны строку,
потом шагнет на следующую строку и опять вдоль короткой стороны дисплея.
ТО есть когда дисплей стоит вертикально, сроки текста выводить более естественно.
А при горизонтальном положении --неудобственно.
А есть же R, скажете.. Да есть..
Так вот при R=1 действительно строки и столбци меняются местами, и теперь уже команда 0x2A задает координату вдоль длинной стороны дисплея и заполнение идет вдоль длинной стороны дисплея и направление можно задать как хочешь, только координату более 131 не берет и ничего на части дисплея от 132 до 175 не рисует. Видимо у контроллера дисплея память кончилась. Был бы дисплей квадратный а так толку нет.
Вот, чтоб знали.
команда 0x36 - Установка направлений заполнения прямоугольника CASET x PASET.
Один параметр 0bVHRXXXXX
Дисплей лицом к нам , чипом к верху, контакты сзади снизу.
Если V=0 H=0 R=0 то заливка идет стороками пикселей слева направо, строкой ниже
и снова слева на право
Точка 0,0 -верхний левый угол,, 132,175 - правый нижний.
Меняя V и H меняем направление заливки и положение конечных точек.
НО!! В любом варианте вначале будет заливать вдоль короткой стороны строку,
потом шагнет на следующую строку и опять вдоль короткой стороны дисплея.
ТО есть когда дисплей стоит вертикально, сроки текста выводить более естественно.
А при горизонтальном положении --неудобственно.
А есть же R, скажете.. Да есть..
Так вот при R=1 действительно строки и столбци меняются местами, и теперь уже команда 0x2A задает координату вдоль длинной стороны дисплея и заполнение идет вдоль длинной стороны дисплея и направление можно задать как хочешь, только координату более 131 не берет и ничего на части дисплея от 132 до 175 не рисует. Видимо у контроллера дисплея память кончилась. Был бы дисплей квадратный а так толку нет.
Вот, чтоб знали.
Привет всем котам.
Подключил LPH9157-2 к FT232RL и из под Delphi 7 написал обмен с дисплеем. Рисую графику и сделал вывод изображений.
Работаю над знакогенератором.
Вывод изображения 132 * 176 пикселов c 16 битным цветом на частоте 3мгц занимает 1 сек.
Надо будет FT2232 прикупить или FT232 HL версию. Там уже до 40 мгц можно будет гонять. Походу минимальное количество цвета это 12 бит?
Подключил LPH9157-2 к FT232RL и из под Delphi 7 написал обмен с дисплеем. Рисую графику и сделал вывод изображений.
Работаю над знакогенератором.
Вывод изображения 132 * 176 пикселов c 16 битным цветом на частоте 3мгц занимает 1 сек.
Надо будет FT2232 прикупить или FT232 HL версию. Там уже до 40 мгц можно будет гонять. Походу минимальное количество цвета это 12 бит?
Последний раз редактировалось Oxford Вт окт 23, 2012 23:35:10, всего редактировалось 4 раза.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Спасибо, Вам, кэп, это уже раз десять было обсуждено в этой теме. Насчет памяти, кстати, Ваше предположение скорее всего неверно, т.к. при R=1 на оставшемся участке дисплея отображается не шум, и не сплошной цвет, а вполне статический мусор, либо остатки выведенного изображения при R=0.VovaOZ писал(а):Вот, чтоб знали.
А выводить вертикальными полосами порой намного удобнее чем горизонтальными. Или, в конце-концов, можно задать прямоугольник размером 1xN (Nx1) и принудительно писать в нужном направлении. Если рисуется графический интерфейс (а не какое-нибудь потоковое видео, но там вообщем-то пофиг на направление), то слегка потерянное быстродействие почти не играет роли.
Giggity giggity goo!
- Сообщения: 11
- Зарегистрирован: Вт мар 27, 2007 06:18:14
Ну извините..
Может стоит тему LPH9157-2 сложить в отдельную ветку, разжевав все поподробнее?
Вот исходники - кто то просил.
Код рабочий, но под STM32F100C8T6 + LPH9157-2
Там и инициализация обеих SPI, хотя использовался второй.
Шрифт ипрограмму рисования букв взял с проекта, который переделываю.
Программу переделал, Шрифт остался как был - только большые русские буквы.
Написано, конечно безобразно - надергано из примеров от ST и доработано напильником.
Но я не проффесинал..
Может стоит тему LPH9157-2 сложить в отдельную ветку, разжевав все поподробнее?
Вот исходники - кто то просил.
Код рабочий, но под STM32F100C8T6 + LPH9157-2
Там и инициализация обеих SPI, хотя использовался второй.
Шрифт ипрограмму рисования букв взял с проекта, который переделываю.
Программу переделал, Шрифт остался как был - только большые русские буквы.
Написано, конечно безобразно - надергано из примеров от ST и доработано напильником.
Но я не проффесинал..
- Вложения
-
- attachments_24-10-2012_13-11-49.zip
- (26.42 КБ) 391 скачивание
Такой вопрос:
И как сбрасывать память чтобы опять шумы были?
Как деинициализацию делать правильно?
И как проверить состояние дисплея инициализирован или нет?
И как сбрасывать память чтобы опять шумы были?
Как деинициализацию делать правильно?
И как проверить состояние дисплея инициализирован или нет?
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Странные вопросы, или я чего-то не знаю и не понимаю. Инициализация - процесс настройки под конкретные нужды. Нужна мне 12-разрядная глубина цвета - настраиваю под 12 бит данных, нужно 5-6-5 - настраиваю 16 бит (если дисплей позволяет по характеристикам). Нужно работать в какой-то локали - задаю "окно". И так далее. Настроил все, что мне нужно, -> включил дисп, дал команду записи в память, и погнал полезные данные. Нет каких-то жестких рамок инициализации. Кому-то достаточно будет вывести дисп из спячки, включить и дать команду "ramwrite" - и вся инициализация. И дефолтных настроек будет достаточно.
Чтоб снова были шумы - дать сброс дисплею, и снова провести инициализацию. Шумы становятся видимыми сразу после подачи команды включения.
Насчет деинициализации самому будет интересно узнать. Впервые слышу о таком понятии. =)
Чтоб снова были шумы - дать сброс дисплею, и снова провести инициализацию. Шумы становятся видимыми сразу после подачи команды включения.
Насчет деинициализации самому будет интересно узнать. Впервые слышу о таком понятии. =)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

Да все ок все работает.
1. Делаю настройку.
2. Включаю дисплей $29, на экране шумы.
3. Рисую картинку.
4. Делаю программный сброс $01.
5. Опять делаю настройку.
6. Включаю дисплей $29, на экране шумы.
все ок с алгоритмом.
Видать программные сброс это и есть полная деинициализация.
Ок.
Еще вот непонятно что за событие когда экран плавно тухнет ( белеет)
Происходит это в такой момент:
1. Делаю настройку.
2. Включаю дисплей $29, на экране шумы.
3. Рисую картинку.
4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.
После этого опять инициализацию можно делать все ок.
Что это?
1. Делаю настройку.
2. Включаю дисплей $29, на экране шумы.
3. Рисую картинку.
4. Делаю программный сброс $01.
5. Опять делаю настройку.
6. Включаю дисплей $29, на экране шумы.
все ок с алгоритмом.
Видать программные сброс это и есть полная деинициализация.
Ок.
Еще вот непонятно что за событие когда экран плавно тухнет ( белеет)
Происходит это в такой момент:
1. Делаю настройку.
2. Включаю дисплей $29, на экране шумы.
3. Рисую картинку.
4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.
После этого опять инициализацию можно делать все ок.
Что это?
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
вот этот момент интересен:
О какой настройке речь? Какие параметры настраиваются?Oxford писал(а):4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

SubDia писал(а):вот этот момент интересен:О какой настройке речь? Какие параметры настраиваются?Oxford писал(а):4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.
Код: Выделить всё
procedure C75_SETUP;
begin
Z := 0;
Include(Data, PIN_CS);
ADD;
Exclude(Data, PIN_RS);
ADD;
Exclude(Data, PIN_RESET);
ADD;
Include(Data, PIN_RESET);
ADD;
Send_8(True,$36); // Memory Access Control
Send_8(False,$80);
Send_8(True,$11); //Выходим из слип режима
Send_8(True,$3a); //Информация о выводе пикселя
Send_8(False,$55); //Два байта на пиксель 65536 цветов
Send;
Sleep(100);
end;
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Для LPH9157-2:
Настройка гаммы команда 26h
Параметр, байт:
1. 01h - Гамма 1.0
2. 02h - Гамма 1.8
3. 04h - Гамма 2.2
4. 08h - Гамма 2.5
Настройка гаммы команда 26h
Параметр, байт:
1. 01h - Гамма 1.0
2. 02h - Гамма 1.8
3. 04h - Гамма 2.2
4. 08h - Гамма 2.5
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Oxford, уточните, плз, что дает комбинация этих битов, и используются ли старшие четыре, чтобы я добавил команду в сборный список.
Giggity giggity goo!
Не понял?Foks писал(а):Oxford, уточните, плз, что дает комбинация этих битов, и используются ли старшие четыре, чтобы я добавил команду в сборный список.
Отправляем команду установку гаммы и настройку гаммы один из 4 вариантов:
Send(CMD, $26); Установка гаммы
Send(DATA, $08); Гамма равна 2.5
В даташите ILI9163 есть это.
Еще вот написал процедуры преобразования 24 битного пиксела:
1. 3-3-2 8 битный режим
B := GetBValue(Color24) shr 5;
G := GetGValue(Color24) shr 5;
R := GetRValue(Color24) shr 6;
Color332 := Byte((B) or (G SHL 3) or (R SHL 6));
2. 5-6-5 16 битный режим
B := GetBValue(Color24) shr 3;
G := GetGValue(Color24) shr 2;
R := GetRValue(Color24) shr 3;
Color565 := Word((B) or (G SHL 5) or (R SHL 11));
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
3. Кодировка 4-4-4
function Color444(Color24: Cardinal): WORD;
var
R, G, B: Byte;
begin
B := GetBValue(Color24) shr 4;
G := GetGValue(Color24) shr 4;
R := GetRValue(Color24) shr 4;
Result := Word((B) or (G SHL 4) or (R SHL 8 ));
end;
И так. Подключил дисплей от Siemens M55 101x80 4096 скорость отрисовки кадра 30-40 мс
Вывод изображений, рисование, регулировка контрастности.
Фото:
function Color444(Color24: Cardinal): WORD;
var
R, G, B: Byte;
begin
B := GetBValue(Color24) shr 4;
G := GetGValue(Color24) shr 4;
R := GetRValue(Color24) shr 4;
Result := Word((B) or (G SHL 4) or (R SHL 8 ));
end;
И так. Подключил дисплей от Siemens M55 101x80 4096 скорость отрисовки кадра 30-40 мс
Вывод изображений, рисование, регулировка контрастности.
Фото:
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
- Сообщения: 91
- Зарегистрирован: Сб авг 11, 2012 22:31:57
Ребят, хочу инициализировать дисплей lph9157-2 с зелёным текстолитом. Питаться будет от 3 вольт и от кроны 9 вольт. К каким выводам Atmega32 рекомендуете его подключить?
К аппаратному SPI, например.
Giggity giggity goo!


