середу, 14 грудня 2016 р.

STM32: Кирилічні символи на WH1602, HD4470


Передмова

В статті "Бібліотека для роботи з LCD WH1602(4) або іншим сумісним дисплеєм з контролером HD44780" ми розглянули як під'єднати до мікроконтролера дисплей WH1602 з контролером HD44780 та під'єднати бібліотеку hd44780 для роботи з цим дисплеєм. Також мається в статті і демопрограма, яка показує наочно можливості бібліотеки.
Все це чудово, але в своїх проектах хочеться виводити інформацію (пункти меню, параметри) все ж таки соєю мовою, а не англійською. Бо з латинськими символами в WH1602 немає жодних проблем, а от з кирилічними символами трапився пекельний облом. Або їх, кирилічних символів, в таблиці символів дисплею взагалі немає. Або є, але розташовані в тій таблиці без прив'язки до якогось стандарту кодування.

Як викручуватись?

Варіант з відсутньою кирилицею відкидаємо, бо потрібно "колгоспити" з символами користувача, які потрібно попередньо завантажувати в пам'ять дисплею і їх використовувати. Але це дуже марнотратно. Вже краще англійською. А от варіант з наявними символами кирилиці, хоч і не по стандарту, вже таки можна більш-менш комфортно використовувати.
Таблиця символів WH1602
Коли є в таблиці кирилиця, то є два варіанти. Один - це в програмному коді створити два масиви з таблицею win-1251 і відповідні коди символів дисплею WH1602 в інший масив. І на льоту це все перетворювати в людський вигляд.
Інший варіант - це скористатись зовнішньою програмою для конвертування тексту до сумісного з дисплеем.
Розглянемо варіант з зовнішньою програмою, бо конвертувати силами самого мікроконтролера займе як і пам'ять, так і ресурси по обчисленню. Хоча при сучасних параметрах мікроконтролерів цим можна знехтувати. Як на мене, варіант з зовнішньою утилітою по конвертуванню, набагато зручніше.

Конвертер символів знакосинтезуючих індикаторів

Ось таку назву має стаття де я знайшов цю корисну утиліту. Завантажуємо архів з програмою. Після розпакування запускаємо і маємо форму з трьома полями.
конвертор символів
В верхньому полі, що ліворуч, пишемо текст який хочемо бачити на дисплеї, а в верхньому, що праворуч, отримуємо те що ми маємо вставити в код своєї програми. В полі, що внизу, отримуємо код символів тексту, який можна використовувати для масивів в своїй програмі. 
На жаль китайські інженери не потурбувались про такі літери як "Іі, Єє, Її, Ґґ", та все одно це вже щось чим нічого. Можна вже якось "викрутитись" за допомоги користувацьких символів, що завантажуються до пам'яті дисплею.

Немає коментарів:

Дописати коментар