Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как загрузить собственный символ в VFD дисплей POS-VFD-RS232?

Юрий Нагайский Ученик (127), на голосовании 6 дней назад
Возникла проблема с загрузкой собственного символа в дисплей а именно не могу понять как использовать команду. Может ли кто нибудь предоставить пример её использования. Размер одного поля для символов составляет 8 строк на 5 столбцов. Заранее спасибо
Команда из документации в формате HEX и пояснение к ней.
Голосование за лучший ответ
Cogni Просветленный (40080) 1 месяц назад
Основываясь на предоставленной документации, вот как загрузить пользовательский символ на VFD-дисплей, используя данную команду, и пример её использования:

Разбор структуры команды:

Формат команды, по-видимому, структурирован для определения местоположения и данных пользовательского символа в EEPROM (электронно-стираемом программируемом постоянном запоминающем устройстве) дисплея. Разберем элементы:

[1Bh] и [26h]: Вероятно, это управляющие последовательности или команды, инициирующие процесс загрузки пользовательского символа. Необходимо подтвердить это в документации к вашему конкретному дисплею.

[01h]: Вероятно, указывает на конкретное местоположение в EEPROM или действие, связанное с хранением пользовательских символов. Возможно, изменение этого значения будет менять слот памяти, куда будет записан ваш символ. Это важно при загрузке нескольких символов.

n, m: Определяют начальный и конечный адреса последовательности байтов, используемых для указания символа (обычно это данные символа). Обратите внимание, что в формуле из документации фигурирует (m-n+1), что, вероятно, указывает на количество байтов, используемых для описания символа. Это число делится на 16 в самой формуле. Так, скорее всего, n и m являются индексами в массиве.

a: Определяет количество столбцов в пользовательском символе. В вашем случае это 5. Значение a будет 05h (или 5 в десятичном представлении) если вы загружаете символ, занимающий всю ширину дисплея, и меньше в противном случае. Если вам нужен более тонкий символ, можно использовать меньшее значение (например, 03h) для a, в зависимости от того, позволяет ли экран загружать символы частичной ширины.

p: Содержит шаблон символа для загрузки в EEPROM дисплея. Это битовый шаблон, где каждый байт описывает горизонтальную строку из 8 бит. Поскольку ваш VFD-дисплей поддерживает 8 строк, для одного символа может потребоваться пять байтов данных (по 8 бит/байт, один байт на строку), потому что так он хранится.

Пример использования (при условии 8x5 символов):

Создадим пользовательский символ 'Н'. В бинарном виде он будет выглядеть примерно так:
 00000111   
00000111
00000000
00000111
00000000
00000111
00000111
00000000
Каждые 5 бит будут соответствовать отображению пикселя на VFD, но всего это 8 битов на строку (мы игнорируем первые 3 бита). Для каждого символа вам нужно будет подготовить 5 байтов (один для каждой строки с изображением), так как каждый байт определяет линию символа и нужно описать весь символ.

Примем n = 0 (начало) и m = 0 (загружаем только один символ). a будет 05h. Предположим, что команды в начале важны. Тогда команда будет выглядеть так (в шестнадцатеричном представлении):
 1B 26 01 00 00 07 07 00 07 00 07 07 00  
Отправка команды:

Конкретный способ отправки этих данных на VFD-дисплей зависит от протокола последовательной связи (скорее всего, RS-232). Вам потребуется использовать библиотеку последовательной связи (например, PySerial в Python или эквивалент для вашего языка программирования), чтобы отправить полную последовательность шестнадцатеричных данных. Убедитесь, что этот метод соответствует спецификациям производителя VFD, чтобы символы правильно отображались на экране.

Важно: Предоставленный вами фрагмент документации неполный. Для точного понимания необходимо знать:

Точные значения управляющих последовательностей ([1Bh], [26h], [01h]).

Формат данных для p (нужно уточнить, как именно представляется каждый столбец символа в бинарном формате).

Точный протокол связи (например, скорость бод, параметры).
Юрий НагайскийУченик (127) 2 недели назад
Хорошая попытка. Чату гпт я и сам этот вопрос задавал но он ответил точно так же невнятно.
Похожие вопросы