Показ дописів із міткою утиліта. Показати всі дописи
Показ дописів із міткою утиліта. Показати всі дописи

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

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


Передмова

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

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

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

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

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

середа, 3 серпня 2016 р.

Про важливість оновлення ST-LINK Utility та ST-LINK Upgrade

Придбав собі окремий програматор ST-LINK V2 (купити можна як на ebay так і на aliexpress, або деінде).
Програматор ST-Link v2

Бо, наприклад, такі плати не мають на борту свого програматора і тому приходиться підключатись до програматора у складі якоїсь плати розробника STM32 Discovery, STM32 Nucleo, тощо, які мають на своєму борту програматор ST-Link V2. А це доволі не зручно.
STM32F103C8T6 Minimum System Development Board
З підключенням не виникло проблем. Чотирьох-дротовим кабелем, що постачався в комплекті з програматором, з'єднати між собою програматор і плату однойменні виводи. Це 3.3V, GND, CLK і DIO (живлення +3.3В, земля, синхронізація і данні вхід/вихід).
З заливкою програм з засобу розробки CooCoxIDE 1.7 теж проблем не виникло. Але вже з CooCoxIDE 2.0 Beta залити програму до мікроконтролеру не вдалось. Виникала постійна помилка (з'єднайте кабель, підключіть програматор).
Як згодом виявилось, "прошивку" самого програматора, теж треба оновлювати. Бо не відомо скільки той програматор у продавця пролежав на складі і наскільки софт програматора вже застарів.
Завантажив з сайту st.com утиліту STM32 ST-LINK utility (ви маєте бути зареєстровані на сайті, щоб завантажувати). Встановив собі до ПК. Встановлення стандартне, без особливостей. Ця утиліта доволі універсальна і корисна. Одна з функцій, що нас зараз цікавить, це оновлення софту програматора.
Запустіть програму STM32 ST-LINK utility. Відкриється таке вікно.
Далі тиснемо меню ST-LINK -- FirmWare Updater і запуститься програма ST-LinkUpgrade яка має такий вигляд.
Далі тиснемо кнопку "Device Connect". Програматор має бути вже під'єднаний до ПК. З'явиться напис з поточною версією що у вашому програматорі "Firmware Version: V2.J27.S6 STM32+STM8 Debugger" та наявна остання версія на сайті ST - "Upgrade the firmware: V2.J27.S6". Це тільки приклад для мого конкретного програматора і на цей момент. В вас можуть бути інші версії "прошивок". Моя "прошивка" вже оновлена до останньої і прошивати не потрібно. А як у вас "старіша" версія, то тисніть кнопку YES для оновлення "прошивки". 
Після оновлення програмного забезпечення, програматор став без проблем "шити" мікроконтролер і з CooCoxIDE 2.0 Beta.
Є ще на сайті ST окрема утиліта ST-LINK/V2 firmware upgrade. Але спробувавши її, виявилось що утиліта пропонує встановити старішу "прошивку" чим вже є в програматорі.
Таке враження, що ці утиліти мають різні репозиторії. Так що майте на увазі. І перевіряйте де в наявності свіжіша "прошивка".