Драйвер для LCD от Nokia 3310
Драйвер для LCD от Nokia 3310
http://radiokot.ru/articles/29
Спасибо, отличная статья. Сам в свое время разбирался с этим, но решил проблему несколько по другому. Знал только о возможности сдвига картинки, а про изменение порядка бит и зеркалироваение - нет.
Остался вопрос. Говорят, что эти дисплеи и "родной" и "китайский" работают в телефонах абсолютно одинаково. Как программный драйвер телефона знает, какой экран установлен?
Спасибо, отличная статья. Сам в свое время разбирался с этим, но решил проблему несколько по другому. Знал только о возможности сдвига картинки, а про изменение порядка бит и зеркалироваение - нет.
Остался вопрос. Говорят, что эти дисплеи и "родной" и "китайский" работают в телефонах абсолютно одинаково. Как программный драйвер телефона знает, какой экран установлен?
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Драйвер для LCD от Nokia 3310
Да, говорят такое. Сам не пробовал, врать не буду.
Подозреваю, что в телефоне идет построчный вывод информации. Алгоритм примерно такой: сдвинули дисплей вверх на нужное число строк (если дисплей оригинальный - он не прореагирует на это); поставили адрес строки - вывели 84 байта; поставили адрес второй строки - вывели следующие 84 байта и т.д. Т.е. обращения к памяти контроллера, не имеющей отображения на экране, не происходит и изображение не рассыпается. Мне кажется как-то так... Может, и не прав, кто что предложит?
Подозреваю, что в телефоне идет построчный вывод информации. Алгоритм примерно такой: сдвинули дисплей вверх на нужное число строк (если дисплей оригинальный - он не прореагирует на это); поставили адрес строки - вывели 84 байта; поставили адрес второй строки - вывели следующие 84 байта и т.д. Т.е. обращения к памяти контроллера, не имеющей отображения на экране, не происходит и изображение не рассыпается. Мне кажется как-то так... Может, и не прав, кто что предложит?
Оптимизм х (Опыт + Знания) = const
Aheir писал(а):Да, говорят такое. Сам не пробовал, врать не буду.
Подозреваю, что в телефоне идет построчный вывод информации. Алгоритм примерно такой: сдвинули дисплей вверх на нужное число строк (если дисплей оригинальный - он не прореагирует на это); поставили адрес строки - вывели 84 байта; поставили адрес второй строки - вывели следующие 84 байта и т.д. Т.е. обращения к памяти контроллера, не имеющей отображения на экране, не происходит и изображение не рассыпается. Мне кажется как-то так... Может, и не прав, кто что предложит?
Согласен с алгоритмом, я так и делал, когда свой драйвер писал, но язнал что за дисплей. Но как телефон определяет на сколько строк сдвинуть? В случае "родного" - это 0 строк, а в случае "китайского" - 5, во всяком случае у меня было.
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Mrgnstrn писал(а):А вот интересно, при компилировании такой драйвер на кристале сколько памяти отжирает?
Ой, дофига) При отсутсвии рисунков примерно 2,4кБ (это со всеми функциями и полной таблицей ASCII). Дальше - отпиливайте ненужное. Ну и ОЗУ надо как минимум 504 байта под экранный буфер. Так что, как и любые графические дисплеи, не для мелких камней - но там оно и не надо.
Bird55 писал(а):Но как телефон определяет на сколько строк сдвинуть?
Мне кажется, он просто двигает, поскольку "родной" дисплей на эту команду не реагирует. Может такое быть, как думаете?
dspy писал(а):можно ли этот драйвер переделать под программний spi?
Честно говоря, не вижу связи между "программностью" SPI и размерами массива. Переделать можно, почему нет..
Оптимизм х (Опыт + Знания) = const
Aheir писал(а):Охотно верю. Теперь предположите, пожалуйста, каким макаром это может быть связано? Что-то Вы там перемудрили, или в память оно не лезет, или переопределили что-то не то - я по телефону лечить не умею.)
вот исходник в CV если поможите заставить работаль с знакогенератором буду весьма благодарен.
прошу сильно не пинать т.к. прогаммировать только учусь
- Вложения
-
- at90usb162_3310lcd.txt
- (15.33 КБ) 800 скачиваний
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Мнэ-э-э-э... Я тут подумал... Если мне не изменяет память, у этого МК всего 512 байт ОЗУ, а там один экранный буфер 504 байта... Плюс таблица символов на кило с лишним... И куда ему все это пихать прикажете? Не, ну таблицу можно во флеш бросить, но все равно места даже на стек не остается)
Оптимизм х (Опыт + Знания) = const
- valexus
- Нашел транзистор. Понюхал.
- Сообщения: 192
- Зарегистрирован: Вс окт 04, 2009 21:19:32
- Откуда: Украина , Житомир
Re: Драйвер для LCD от Nokia 3310
Aheir, подскажи , пожалуйста, как ты логотип выводил на экран nokia 3310 , а то все работает . а картинку не могу вывести.
Заело -- нажми посильнее, сломалось -- не страшно , все равно надо было менять.
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Re: Драйвер для LCD от Nokia 3310
Оптимизм х (Опыт + Знания) = const
- valexus
- Нашел транзистор. Понюхал.
- Сообщения: 192
- Зарегистрирован: Вс окт 04, 2009 21:19:32
- Откуда: Украина , Житомир
Re: Драйвер для LCD от Nokia 3310
та функцию я понял , но вот с помощью какой программы был создан массив рисунка , который как я понимаю был прикомпилирован как picture.c ?
Заело -- нажми посильнее, сломалось -- не страшно , все равно надо было менять.