Дисплей Nokia 3410 (3310)
- Реклама
-
yakuzaa
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Чт июл 24, 2008 12:35:30
- Контактная информация:
почему тогда при установке в телефон "паленый" дисплей работает нормально?MetEl писал(а):Вот не знаю что Нокия передаёт а мы все работаем не так.yakuzaa писал(а):***
И соответствует LPH7799 PCD8488-у, ЗАО"Пхилипс" по тех. требованиям чем каокойто, зачемто ещё один и даже циклический байт..
в диапазоне... на57й интерации...
Может "китайский" оригинальный??
Значит дело все-таки в порядке обмена командами! О! мысль! действительно! попробовать изменить *порядок* передачи команд дисплею - ну там контрасность, bias и т.д.
может поможет...
временные диаграммы посмотри пжаста.
в полноте по ЖКД:
- время выставления лог уровней
- время считывания лог уровней (необходимое время удержания лог уровня на входе, необходимое, для гарантированного и правильного определения контроллером ЖКД)
- время обработки команд
- время выполнения команд
по МК
Отключить все прерывания(асм cli), лишние лишние функции и процедуры.
Высветить и погасить все пиксели используя аппаратные команды контроллера ЖКД.
И только после этого осуществить передачу видео информации(данных) на ЖКД.
Т.е. программно записать и стереть все ячейки(байты) матрицы ЖКД (по сути площадь дисплея является (контроллер одностраничного ЖКД) ОЗУ, с прямым выводом).
Далее изучая ТО ЖКД и сопряжения с контроллером, можно выявить неисправность(если она всётаки есть). К примеру-стр 23 ТО фигура 17, показывает что возможен отказ блоками по 24 строки(но может и по строчку...), либо по одному столбику.
стр 28 ТО позволяет определить прохождение токов и уровней напряжений (а значит и пульсаций) и их полярность от "генератора напряжения матрицы" и "биос генератора напряжения" (... сам репу чешу... блоки питания ключей матрицы ) стр 4 и их взаимодействие (стр 7) приводящее к открытию или закрытию ЖК пикселя (поляризации, в одну или в другую сторону, как именно не указывается) ... не всё понятно, хотя должно быть понятно и не спецам (надо знать что можно применить и как оно работает, к примеру сотру зеркальный слой и пропущу световое излучение, скажем, хочу проектор на стенку...пусть квадратный но меня устраивает ))) ).
ЗЫ: мне кажется что сдесь постоянный сбой, скорее с ОЗУ, а может и стеком. Налезают значения (ячейки ОЗУ) в вывод на дисплей. Отключите всё, толко одну страничку выведите(один раз). Всё работает. И правильно (по ТехническимТребованиям и ТО и ПС) ))).
Дайте код.
в полноте по ЖКД:
- время выставления лог уровней
- время считывания лог уровней (необходимое время удержания лог уровня на входе, необходимое, для гарантированного и правильного определения контроллером ЖКД)
- время обработки команд
- время выполнения команд
по МК
Отключить все прерывания(асм cli), лишние лишние функции и процедуры.
Высветить и погасить все пиксели используя аппаратные команды контроллера ЖКД.
И только после этого осуществить передачу видео информации(данных) на ЖКД.
Т.е. программно записать и стереть все ячейки(байты) матрицы ЖКД (по сути площадь дисплея является (контроллер одностраничного ЖКД) ОЗУ, с прямым выводом).
Далее изучая ТО ЖКД и сопряжения с контроллером, можно выявить неисправность(если она всётаки есть). К примеру-стр 23 ТО фигура 17, показывает что возможен отказ блоками по 24 строки(но может и по строчку...), либо по одному столбику.
стр 28 ТО позволяет определить прохождение токов и уровней напряжений (а значит и пульсаций) и их полярность от "генератора напряжения матрицы" и "биос генератора напряжения" (... сам репу чешу... блоки питания ключей матрицы ) стр 4 и их взаимодействие (стр 7) приводящее к открытию или закрытию ЖК пикселя (поляризации, в одну или в другую сторону, как именно не указывается) ... не всё понятно, хотя должно быть понятно и не спецам (надо знать что можно применить и как оно работает, к примеру сотру зеркальный слой и пропущу световое излучение, скажем, хочу проектор на стенку...пусть квадратный но меня устраивает ))) ).
ЗЫ: мне кажется что сдесь постоянный сбой, скорее с ОЗУ, а может и стеком. Налезают значения (ячейки ОЗУ) в вывод на дисплей. Отключите всё, толко одну страничку выведите(один раз). Всё работает. И правильно (по ТехническимТребованиям и ТО и ПС) ))).
Дайте код.
простое чмо, выдумщик
-
yakuzaa
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Чт июл 24, 2008 12:35:30
- Контактная информация:
вот исходный код пультика для ImageCraft ICCAVR:
http://www.microsyl.com/mp3/Remote.zip
с оригинальным дисплеем пашет нормально! ))
http://www.microsyl.com/mp3/Remote.zip
с оригинальным дисплеем пашет нормально! ))
- Реклама
Как то слишком мудрёно !!!
(((
не по данной теме...
Желание ничего не делать, а пользоваться уже готовым приводит к деградации способностей мозгов. А также приводит к штампованию решений и понятий. Узких и не всегда правильных. И как всегда это распространяется по нэту....
Дело в том , что один чел написал и все за ним , тупо переписывают. Не вникая не во что. А все хватаюи и радуются (((
А важен подход, зачем и почему так сделано. Можно конечно и по другому или даже не так совсем. Но для этого нужно самому, разобраться обязательно!
по данной теме.
ЖКД разных производителей совершенно обоснованно могут отличаться друг от друга, в рамках ТХ и Т.Условий. Это связано не только с широтой и климатом завода изготовителя но и в основном, материалами и т.оборудованием и даже технологией, которое используется при изготовлении. Ничего в этом такого нет, чтоб заострять внимание.
Вы как разработчик, укладываетесь во временные диаграммы ?!
стр 20 таб 12 и стр21 ??
не менее 100 нСек на удержание лог уровней.
Скажем, на сброс может быть потрачено до 30мСек (внутренняя схема). И пр.
Но по SPI(внешняя схема) все минимальные значения от 100нСек (т.е необходимо не менее 100нСек выждать после смены уровней, для реагирования ЖКД)
Если взять 10-к устройств, они тоже совершенно спокойно могут отличатся, по работе. Я не знаю, что и как передаёт мобильник, в котором оба ЖКД работают правильно. Но это же подтверждение, что чтото не правильно в сопряжении или программе!
Поставте задержку, в этой слишком запутанной программе. После смены любых управляющих сигналов. Этого там не сделано (не видно)... а должно! (с какой частотой(как быстро) МК переключает эти линии). Почему только в нижней части дисплея? Тоже вопрос... а что вы там пишете? Видать там и путаница. Возможно разрядность переменной, для координат по х и у. А может и вывод символов...
А также:
Какая частота и напряжение вашего МК. Какое напряжение подаёте на ЖКД?
ЗЫ: Конечно может вам бракованная партия досталась или не качественный товар(не прошедший ОТК).
ЗЫ ЗЫ:
Просто выведи на дисплей сам, один раз. Это будет уже решение проблемы. Она покажет бракованный или нет ЖКД.
(((
не по данной теме...
Желание ничего не делать, а пользоваться уже готовым приводит к деградации способностей мозгов. А также приводит к штампованию решений и понятий. Узких и не всегда правильных. И как всегда это распространяется по нэту....
Дело в том , что один чел написал и все за ним , тупо переписывают. Не вникая не во что. А все хватаюи и радуются (((
А важен подход, зачем и почему так сделано. Можно конечно и по другому или даже не так совсем. Но для этого нужно самому, разобраться обязательно!
по данной теме.
ЖКД разных производителей совершенно обоснованно могут отличаться друг от друга, в рамках ТХ и Т.Условий. Это связано не только с широтой и климатом завода изготовителя но и в основном, материалами и т.оборудованием и даже технологией, которое используется при изготовлении. Ничего в этом такого нет, чтоб заострять внимание.
Вы как разработчик, укладываетесь во временные диаграммы ?!
стр 20 таб 12 и стр21 ??
не менее 100 нСек на удержание лог уровней.
Скажем, на сброс может быть потрачено до 30мСек (внутренняя схема). И пр.
Но по SPI(внешняя схема) все минимальные значения от 100нСек (т.е необходимо не менее 100нСек выждать после смены уровней, для реагирования ЖКД)
Если взять 10-к устройств, они тоже совершенно спокойно могут отличатся, по работе. Я не знаю, что и как передаёт мобильник, в котором оба ЖКД работают правильно. Но это же подтверждение, что чтото не правильно в сопряжении или программе!
Поставте задержку, в этой слишком запутанной программе. После смены любых управляющих сигналов. Этого там не сделано (не видно)... а должно! (с какой частотой(как быстро) МК переключает эти линии). Почему только в нижней части дисплея? Тоже вопрос... а что вы там пишете? Видать там и путаница. Возможно разрядность переменной, для координат по х и у. А может и вывод символов...
А также:
Какая частота и напряжение вашего МК. Какое напряжение подаёте на ЖКД?
ЗЫ: Конечно может вам бракованная партия досталась или не качественный товар(не прошедший ОТК).
ЗЫ ЗЫ:
Просто выведи на дисплей сам, один раз. Это будет уже решение проблемы. Она покажет бракованный или нет ЖКД.
простое чмо, выдумщик
-
yakuzaa
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Чт июл 24, 2008 12:35:30
- Контактная информация:
это конечно идея! обязательно попробую вклинить задержки после установки лог. уровней на D/C, Reset и т.д.!MetEl писал(а): Вы как разработчик, укладываетесь во временные диаграммы ?!
стр 20 таб 12 и стр21 ??
не менее 100 нСек на удержание лог уровней.
Скажем, на сброс может быть потрачено до 30мСек (внутренняя схема). И пр.
Но по SPI(внешняя схема) все минимальные значения от 100нСек (т.е необходимо не менее 100нСек выждать после смены уровней, для реагирования ЖКД)
но впредь работаю только с оригинальными дисплеями - с ними пашет все отлично и проблем нет!
Уважаемый(ая) MetEl! Можете ли вы тогда обьяснить тот факт, что алгоритмы "общения" с дисплеем в разных проэктах по крайней мере десяти разных авторов построены по практически одной и той же логике, что на ICCAVR, что на BASCOM, что на WinAVR - все исключительно по ДШ! неужели все такие невнимательные?
Может причина все-таки в другом?
слушай всё так муторно...
какого общения? общение оно двустороннее. А тут только вывод. (((
Или передача данных.
я не смотрел алгоритмы, и не очень собираюсь парится с этим.
наши деды придумали просто - один раз выкладываешь весь массив(видео) на дисплей, когда он уже заполнится(из разных частей программы). Т.е экранная память (страница видео памяти). И пока нет необходимости изображение не меняется. В промежутках между выводом делай чего хочешь. Дисплей с фиксацией. Что ещё надо???
Работа с видео массивом позволяет опрерировать с битами (пикселями) а значит и графикой и наложением и затиранием , всё что нужно. Одна проблема - массив большой(соответствующее ОЗУ нада...).
Если положение текста, знаков и пр. на дисплее статично (т.е не меняет своих координат) то буфер не нужен. Можно довольствоваться разовым выводом из разных мест программы. В зависимости от надобности и готовности значений.
Однако кмк проще работать с массивом.
В различных функ. , телах и пр. заносится значения в глоб. массив (или какнить по другому) и в одно месте , это всё сливается в ЖКД. А не сто раз на дню то сдесь кусок то там пол куска..
---------------------------
а между прочим, я только КНР-ские(может быть Тайваньские) и использовал... а разве другие есть???
какого общения? общение оно двустороннее. А тут только вывод. (((
Или передача данных.
я не смотрел алгоритмы, и не очень собираюсь парится с этим.
наши деды придумали просто - один раз выкладываешь весь массив(видео) на дисплей, когда он уже заполнится(из разных частей программы). Т.е экранная память (страница видео памяти). И пока нет необходимости изображение не меняется. В промежутках между выводом делай чего хочешь. Дисплей с фиксацией. Что ещё надо???
Работа с видео массивом позволяет опрерировать с битами (пикселями) а значит и графикой и наложением и затиранием , всё что нужно. Одна проблема - массив большой(соответствующее ОЗУ нада...).
Если положение текста, знаков и пр. на дисплее статично (т.е не меняет своих координат) то буфер не нужен. Можно довольствоваться разовым выводом из разных мест программы. В зависимости от надобности и готовности значений.
Однако кмк проще работать с массивом.
В различных функ. , телах и пр. заносится значения в глоб. массив (или какнить по другому) и в одно месте , это всё сливается в ЖКД. А не сто раз на дню то сдесь кусок то там пол куска..
---------------------------
а между прочим, я только КНР-ские(может быть Тайваньские) и использовал... а разве другие есть???
простое чмо, выдумщик
-
yakuzaa
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Чт июл 24, 2008 12:35:30
- Контактная информация:
MetEl писал(а): а между прочим, я только КНР-ские(может быть Тайваньские) и использовал... а разве другие есть???
О! тогда Вас не затруднит выложить проектик, который, как Вы утверждаете, работает с "тайваньским" дисплеем, если можно - а я вам фотку пришлю как Ваш проектик будет с "серыми дисплеями" работать (которые между прочим уже не только у нас в продаже появились) - если все будет нормально работать - снимаю шляпу и по-джентльменски извиняюсь!
какой нафиг проект, говорил же, пропиши -
и посмотри чего получится.
Код: Выделить всё
все используемые линии портов устанавливаются в режим - на выход.
регистры работы SPI прописать, скорость(от частоты МК, не более 4МГц ), ведущий (master), страшим битом вперёд (помоему).
reset=1;
delay_ms(500);
dc=0;
SPI(0x21); // включить питание, расшир. команды
SPI(0x13); // bias=3
SPI(0xC8); // включить внутренний источник, Vop=0x48;
SPI(0x20); // обычный набор инструкций
SPI(0x0c); // нормальный режим отображения D=1 E=0
dc=1;
i=0;
while(i<505)
{
SPI(255);
SPI(0);
i++;
};
i=0;
delay_ms(3000);
while (i<505)
{
SPI(00111100);
i++;
};
///
Последний раз редактировалось MetEl Пт авг 22, 2008 17:00:55, всего редактировалось 1 раз.
простое чмо, выдумщик
Вот здесь заграничные коллеги обсуждают проблемку с N3310.
http://www.edaboard.com/ftopic324477.html
С картинками. И гадают какой контроллер поставлен в таком дисплее.
http://www.edaboard.com/ftopic324477.html
С картинками. И гадают какой контроллер поставлен в таком дисплее.
- krolaka
- Нашел транзистор. Понюхал.
- Сообщения: 169
- Зарегистрирован: Пн мар 02, 2009 12:23:37
- Контактная информация:
я имею тоже етот дисплей никак не могу нормально его запустить
какие я только библиотеки не использовал ничо не помагает
у меня от нокии 3410. Нарыл что там контролер OM6206 или PCF8812 (102x65) разрешение 96x65. когда пишу
изображение в второй строке сдвигается на 6 пикселей в лево
когда пишу
изображение нормалное но проблема с шрифтом большым все сдвигается уже все перековырял ниче не могу зделать(
пишу ето
и нижняя строчка в один пиксель всегда с мусором уже очищал
999 вместо LCD_CACHE_SIZE даже если посчитать 102х65/8=828.75
етого думал достаточно но мусор остался
посоветуйте
какие я только библиотеки не использовал ничо не помагает
Код: Выделить всё
#define LCD_X_RES 96
#define LCD_Y_RES 65когда пишу
Код: Выделить всё
#define LCD_X_RES 102
#define LCD_Y_RES 65пишу ето
Код: Выделить всё
LcdStr(FONT_2X,"test")Код: Выделить всё
void LcdClear ( void )
{
int i;
for ( i = 0; i <999; i++ )
{
LcdCache[i] = 0x00;
}
// Reset watermark pointers.
LoWaterMark = 0;
HiWaterMark = LCD_CACHE_SIZE - 1;
UpdateLcd = TRUE;
}етого думал достаточно но мусор остался
посоветуйте
- VenomXP
- Грызет канифоль
- Сообщения: 293
- Зарегистрирован: Пн дек 24, 2007 07:09:09
- Контактная информация:
Для 3310 должно быть так:
Код: Выделить всё
#define LCD_X_RES 84
#define LCD_Y_RES 48Даташит - библия моя...


Коты! я тоже долго бился с 3310, нагуглил сайт, там вроде решили проблему https://www.phreaker.us/forum/showthread.php?p=59912 буду пробовать на выходных, там вроде конфигурация другая и со строчками проблемы, вернее альтернативное решение, я собираю индикацию на 3310, в принципе не проблема сделать как рекомендует автор.


