Как ssd1306 справляется с разными размерами экрана?

display oled ssd1306

Я заметил, что если у меня два дисплея SSD1306, то на дисплее с разрешением 128 x 32 будут потеряны все остальные строки при записи в режиме x64, а на дисплее с разрешением 128 x 64 при записи в режиме x32 будут отображаться пустые горизонтальные строки. Как это работает физически и могу ли я ожидать, что это будет надежной функцией?

Я бы подумал, что половина экрана каким-то образом будет обрезана, но оказалось, что вместо этого он должен чередовать данные (что кажется намного более сложным). Тем не менее, есть также какая-то конфигурация чипа драйвера, чтобы заставить его делать это (похоже, это команда 0xDA, но я не понимаю, как/почему у нее есть эти параметры).

Могу ли я ожидать, что, по крайней мере, если я использую одну и ту же библиотеку драйверов, использование неправильного экрана всегда будет иметь такое поведение? Я планировал использовать его, чтобы помочь пользователю определить, какой у него экран.

, 👍0

Обсуждение

Что показывают ваши собственные усилия? Что говорит техпаспорт? Вы смотрели в источник драйвера? Вы можете сами ответить на большинство своих вопросов, почитав информацию в Интернете., @the busybee

Я просмотрел таблицу данных, и там происходит какое-то мультиплексирование, но я не особо в этом разбирался, и некоторые из них зависят от библиотеки/реализации. Как, по-видимому, упоминалось ниже, это, по-видимому, конвенция..., @RDragonrydr


1 ответ


Лучший ответ:

0

SSD1306 не поддерживает различные размеры, он всегда поддерживает только максимальный размер 128 x 64. Но можно решить использовать меньше контактов драйвера только для меньшего дисплея.

SSD1306 имеет 128 сегментных контактов, которые активируют текущий столбец, поэтому состояния 64 общих сигнальных контактов будут использоваться дисплеем для этого столбца. Для дисплеев меньшего размера только несколько контактов SSD1306 остаются неподключенными. Они устанавливаются так же, как и все остальные контакты, но они ни к чему не подключены, поэтому информация теряется.

Для этого библиотека устанавливает пиксель в соответствии с размером, не используя каждую вторую строку (то есть общий сигнал) для дисплеев половинного размера. Вот почему вы получаете горизонтальные черные линии при использовании дисплея 128x64 с библиотекой в режиме 128x32. Библиотека считает, что каждая вторая строка никак не связана, и поэтому устанавливает эти пиксели в черный цвет. Дисплей 128 x 32 теряет каждую вторую строку при использовании библиотеки в режиме 128 x 64, поскольку каждая вторая строка не подключена.

Обратите внимание, что ни библиотека, ни SSD1306 не знают о том, как подключен дисплей. Вам нужно сообщить об этом библиотеке, установив режим, и она будет соответствующим образом управлять SSD1306. Так что отзывов о дисплее, который можно было бы использовать, нет.

Могу ли я ожидать, что, по крайней мере, если я использую одну и ту же библиотеку драйверов, использование неправильного экрана всегда будет иметь такое поведение?

Да и нет. Библиотека обрабатывает это таким образом, потому что это обычный способ пропустить каждый второй вывод для дисплеев половинного размера. Но решать это должен производитель. Мы не можем гарантировать, что никто никогда не подключит SSD1306 к дисплею другим способом.

Для большинства производителей вы подойдете. Если вы просто планируете предоставить дисплеи для своих пользователей, чтобы они могли изменять их сами, вы можете быть уверены. Если пользователь должен иметь возможность использовать свой собственный дисплей, приобретенный в другом месте, у вас могут возникнуть проблемы (хотя и редко).

,

Я бы предоставил экраны, так что по крайней мере эта часть проста. Беспокоит то, как _я_ узнаю, нормально ли подключены те, которые я буду покупать..., @RDragonrydr

Пытаясь, как вы уже это делали, @chrisl

...Спасибо? Это не самое обнадеживающее..., @RDragonrydr

В зависимости от того, где вы их покупаете, вы можете получить эту информацию у торгового посредника/производителя. Вы будете в порядке в большинстве случаев. Когда вы нашли реселлера, продающего правильно распаянные модули, просто купите модули у него. Нет исследования, сколько модулей подключено таким образом, но я думаю, что это будет в большинстве случаев., @chrisl