Jump to content

    

SSD1322, 256x64

При выставлении column start adress и end adress не могу понять откуда берется смещение 0x1C = d28.

Т.е., если у меня 256 пикселей ширина матрицы, значит количество столбцов 64 (один столбец - 4 пикселя). Логично сделать start/end column равными 0/63, но ставят 28/91.

Это смещение есть во всех найденных мною исходниках, и с ним всё работает нормально, но в даташите ничего подобного вообще не вижу.

Кроме этого, если при инициализации не трогать никакие настройки, а только вывести дисплей из стендбай режима и включить режим ON, т.е. все пиксели светятся по максимуму, то наблюдаются две полосы по бокам с яркостью меньшей, чем в середине - что за фигня? :( Сфоткать это дело не получится. Ширина полос, вычисленная чередующимися выводом линии определенной длины и засветки всего экрана, равна 32 пикселям (если глаз не подвел).

post-55094-1410798145.jpg

SSD1322.pdf

Edited by ohmjke

Share this post


Link to post
Share on other sites

Что, неужели никто не работал с этим контроллером?

Share this post


Link to post
Share on other sites

ohmjke, получилось победить его? С полосами по бокам у меня та же ситуация, не могу разобраться. Плюс к этому потребление по питанию светодиодов бешеное, контроллер греется. Если экран выключить командой, потреблять продолжает. Приходит в норму только если перевести в спящий режим.

Share this post


Link to post
Share on other sites

Нет, решения не нашел. Что пробовать уж и не знаю. С нагревом проблем нет.

Share this post


Link to post
Share on other sites

Кто-нибудь смог разобраться с подобным дисплеем? Не могу понять, как соотносятся адреса в памяти с положением пикселей на экране?

Share this post


Link to post
Share on other sites
Кто-нибудь смог разобраться с подобным дисплеем? Не могу понять, как соотносятся адреса в памяти с положением пикселей на экране?

типовые действия с подобными контроллерами:

0. включаете питание

1. добиваетесь инита дисплей, это когда после настроек на экране виден "мусор" из пикселей

2. заливаете массив данных известного количества (сначала все 0x00, потом 0xff) и смотрите, куда на экране они попадают..

3. корректируете режим дисплея и границы под свои нужды..

4. выключаете питание и на пункт 0 или делаете аппаратный сброс и с пункта 1

Share this post


Link to post
Share on other sites

Разобрался с этим дисплеем. По вертикали всё просто, 0 - это ноль и так далее по одному пикселю. А вот по горизонтали всё очень хитро. Как и писал автор, начало дисплея приходится на столбец номер 28. Далее, каждый столбец соответствует четырем пикселям. Плюс к этому, цвет (яркость) пикселя задается одним из полубайтов передаваемых данных. То есть за один раз можно закрасить минимум 4 пикселя, передав 2 байта данных. Если кому будет интересно, могу сбросить кусок кода для пояснения.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this