Подскажите кто может. У меня MCUFRIEND 3,5 дюйма диплей . У него вот такая проблема, небыло у него русского языка я нашел статью как вставить русские шрифты и всё получилось, но вот беда вместе с тем он перестал обновлять экран или что типа того. В общем когда данные меняются на кране он их накладывает одни на другие. Можно конечно обновлять весь дисплей принудительно но это крайне не удобно и довольно накладно по коду. подскажите что делать может есть какая нибудь команда.
![2021-09-08 07-11-46.JPG](/data/attachments/27/27292-f6e3cc1bf89a52be57d2c77edae2b0ab.jpg)
![2021-09-08 07-30-47.JPG](/data/attachments/27/27293-a3cd1b554a27ff6fbbfa0a084289cfb2.jpg)
![2021-09-08 16-37-11.JPG](/data/attachments/27/27294-773434515da256506f6e7f391b19e3c2.jpg)
![2021-09-08 16-38-09.JPG](/data/attachments/27/27295-e2638a939015b9454cae74524894039d.jpg)
![2021-09-08 07-11-46.JPG](/data/attachments/27/27292-f6e3cc1bf89a52be57d2c77edae2b0ab.jpg)
![2021-09-08 07-30-47.JPG](/data/attachments/27/27293-a3cd1b554a27ff6fbbfa0a084289cfb2.jpg)
![2021-09-08 16-37-11.JPG](/data/attachments/27/27294-773434515da256506f6e7f391b19e3c2.jpg)
![2021-09-08 16-38-09.JPG](/data/attachments/27/27295-e2638a939015b9454cae74524894039d.jpg)
библиотека:
#include <Adafruit_GFX.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
//#include <Fonts/CrystalNormal14.h>
#include <Fonts/FreeSans9pt7b.h>
#include <FontsRus/CourierCyr9.h>
#include <FontsRus/Bahamas8.h>
#include <FontsRus/Bahamas6.h>
#include <FontsRus/CourierCyr18.h>
#include <FontsRus/CourierCyr10.h>
#include <FontsRus/Crystal18.h>
#include <FreeDefaultFonts.h>
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
Перевод на руский:
String utf8rus(String source)
{
int i, k;
String target;
unsigned char n;
char m[2] = { '0', '\0' };
k = source.length(); i = 0;
while (i < k) {
n = source[i]; i++;
if (n >= 0xBF) {
switch (n) {
case 0xD0: {
n = source[i]; i++;
if (n == 0x81) {
n = 0xA8;
break;
}
if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
break;
}
case 0xD1: {
n = source[i]; i++;
if (n == 0x91) {
n = 0xB7;
break;
}
if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
break;
}
}
}
m[0] = n; target = target + String(m);
}
return target;
}
tft.setFont(& CourierCyr18pt8b);
//tft.fillScreen(MAGENTA);
tft.setCursor(10, 25);
tft.setTextColor(WHITE, BLACK);
//////tft.setTextSize(2);
//
tft.println("Большая комната");