2 / 2 / 0
Регистрация: 27.02.2014
Сообщений: 86
|
|
1 | |
Дисплей на контроллере ST7735 и Ucglib12.12.2021, 00:00. Показов 5892. Ответов 29
Метки нет (Все метки)
Всем привет!
Пытаюсь прикрутить Ucglib к своему проекту, но есть несколько проблем. 1. Никак не могу заставить отображаться русский язык. 2. Не понимаю, как в меню (да и вообще везде) изменять только определенный участок экрана. Неужели всегда нужно обновлять все данные на дисплее? Данную библиотеку использую по причине того, что это самая легкая из всех, что я пробовал с программным SPI. Может кто подскажет, как заставить отображаться русский язык и можно ли обновлять только необходимые данные, а не весь экран?
0
|
12.12.2021, 00:00 | |
Ответы с готовыми решениями:
29
STM32F103C8T6 и дисплей ST7735 ST7735 + STM32 STM32F103 + ST7735 + STemWin STM32F4Discovery + дисплейчик ST7735 LCD ST7735 и ST7789 |
612 / 373 / 69
Регистрация: 21.09.2008
Сообщений: 1,277
|
|
12.12.2021, 11:22 | 2 |
0
|
2 / 2 / 0
Регистрация: 27.02.2014
Сообщений: 86
|
|||||||||||
12.12.2021, 12:00 [ТС] | 3 | ||||||||||
Оставил минимум (только вывод на дисплей), чтобы было проще
Причем, не выводится ни русский ни английский текста. Если в файл "RusFont12.h" запихать английский шрифт, то он отрабатывает корректно.
0
|
612 / 373 / 69
Регистрация: 21.09.2008
Сообщений: 1,277
|
||||||||||||||||
12.12.2021, 21:44 | 4 | |||||||||||||||
Как-то подозрительно выглядит у Вас описание секции шрифта
Да, у Вас исходник в кодировке UTF-8?
0
|
2 / 2 / 0
Регистрация: 27.02.2014
Сообщений: 86
|
|
13.12.2021, 05:23 [ТС] | 5 |
.progmem. просто переносит массив в память программ.
В любом случае пробовал и без .progmem. - не работает. Пробовал даже менять массив в исходниках самой библиотеки, но результат без изменений. Да, проверил через notepsd++
0
|
612 / 373 / 69
Регистрация: 21.09.2008
Сообщений: 1,277
|
|
13.12.2021, 15:22 | 6 |
aleksandr_l, попробуем проанализировать кодировку первой буквы в строке 28 ("Меню") Вашего примера. Кириллическая буква 'М' кодируется в UTF-8 двумя последовательными байтами 20810 и 15610 (в шестнадцатеричном виде 0xD0 0x9C, согласно этому сайту). Для правильного сопоставления кодировки текста с выбранным шрифтом должна быть промежуточная функция, выполняющая преобразование из UTF-8 в другую кодовую страницу, под которую разработан шрифт. Понимаете?
Шрифт RusFont12 для какой кодировки - CP866, CP1251, KOI8-R? Добавлено через 5 часов 39 минут Здесь тема про малаяламский (???) язык. Симптомы проблемы те же.
0
|
2 / 2 / 0
Регистрация: 27.02.2014
Сообщений: 86
|
|
13.12.2021, 16:50 [ТС] | 7 |
Точно уже не помню, но всегда использую UTF-8 и с U8Glib никогда проблем не возникало.
Брал шрифты из U8Glib - не отображаются вообще. Сейчас откопал "tft_Ucglig_gr" в ней все работает как положено - потом нужно будет сравнить библиотеки, глянуть почему не работает русский с "Ucglig" А вот по поводу изменения показаний, остались вопросы. Дело в том, что каждый новый вывод показания, накладывается на предыдущий и получается каша.
0
|
612 / 373 / 69
Регистрация: 21.09.2008
Сообщений: 1,277
|
|||||||||||
13.12.2021, 18:32 | 8 | ||||||||||
Думаю, в строке 18 примера
0
|
2 / 2 / 0
Регистрация: 27.02.2014
Сообщений: 86
|
|||||||||||
13.12.2021, 19:57 [ТС] | 9 | ||||||||||
Скормил следующее куче разных шрифтов в связке с "Ucglig"
Из предложенного, сработал только unifont11_cp1251.h, но со строкой
0
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
||||||
05.07.2022, 18:05 | 10 | |||||
Всем доброго времени суток!
Имею экран ST7735 1,8 128x160 TFT. Использую библиотеку Ucglib.h. Самый большой шрифт в этой библиотеке это - ucg_font_inb63_mn. Но мне нужны шрифты еще больше (чтобы две цифры почти впритык помещались на этот дисплей). Подскажите, как выйти из положения пожалуйста! Приложил все используемые этой библиотекой шрифты. И, конечно, желательно, чтобы эти шрифты, большие чем 63, были плавными, как все шрифты в этой библиотеке..., но не как в библиотеке Adafruit_GFX.h (угловато-пиксельные)... Вот код:
0
|
612 / 373 / 69
Регистрация: 21.09.2008
Сообщений: 1,277
|
|
06.07.2022, 08:09 | 11 |
1
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
|
06.07.2022, 10:31 | 12 |
Да. Но я не понял какой на видео размер экрана. Мне нужно, чтобы помещались две цифры впритык.
Добавлено через 52 секунды Гляну ссылку! Посмотрю подойдет или нет. Спасибо! Добавлено через 1 час 24 минуты Глянул. Там самый большой шрифт dig29x36_c3, но это не достаточно... - нужно больше высоты 63 пикселя.
0
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
|
07.07.2022, 11:36 | 13 |
0
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
|
08.07.2022, 17:11 | 14 |
Друзья, так пока ничего и не нашел большего шрифта, чем на видео.... Это действительно проблема? Подскажите где поискать и как быть?
0
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
|
08.07.2022, 19:01 | 16 |
0
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
|
08.07.2022, 19:07 | 18 |
Ну это очевидно, просто чтобы сейчас войти в тему это нужно убить уйму времени...
Если бы была методичка, то да... или видеоурок какой... а так.... ну посмотрим...
0
|
08.07.2022, 19:12 | 19 |
Если вам нужны крупными только цифры, что можно предположить по видео, то можно обойтись всего лишь десятком картинок, изображающих 0...9. Это ещё проще.
Добавлено через 5 минут А если 7-сегментные дисплеи вам глаза не режут, можно обойтись всего лишь двумя рисунками - горизонтального и вертикального сегментов. И будет Семисегментные часы Да их можно даже не рисовать заранее, а использовать встроенные функции заливки прямоугольников. Но, ожидаю, будет работать чуть медленнее.
1
|
3 / 3 / 0
Регистрация: 02.01.2016
Сообщений: 145
|
|
08.07.2022, 19:22 | 20 |
Да, пока именно так и есть - только цифры... дальше будет видно.
Вот это конечно крайне не желательно... я люблю чтобы все было приятно и эстетично, раз уж делаю... Конечно если сделать и забыть, то можно и купить натуральные семисегментные и вообще закрыть вопрос (чувствую, что еще немного потрипыхаюсь и так и сделаю).... Но хочется другого...
0
|
08.07.2022, 19:22 | |
08.07.2022, 19:22 | |
Помогаю со студенческими работами здесь
20
st7735 проблема с пролистыванием на экране. Спрошу-ка я тоже про экнанчик. stm32f4 + st7735 ESP32 Вывод на экран ST7735 с драйвером ST7789 240х240 Arduino + 1.8" TFT + Adafruit ST7735 + BMP + SDCard = fail После установки Ubuntu дисплей не определяется: "Неизвестный дисплей" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |