Ieșirea literelor rusești în arduino

Ieșirea literelor rusești în arduino


Biblioteca principală și cea mai convenabilă pentru lucrul cu afișaje pixel LCD este biblioteca AdFruit GFX.
Această bibliotecă este pur grafică, astfel încât să lucrăm cu un anumit model al afișajului și merită să folosiți o bibliotecă specializată.






De exemplu, pentru afișajul Nokia 5110 este Adafruit-PCD8544. Pentru OLED 0.96 "OLED 128x64 - Adafruit_SSD1306.Librarii pentru alte modele pot fi găsite aici (sau aici: listă).

Deci, ați conectat afișajul, în schița pe care ați adăugat-o în două biblioteci, care au fost discutate mai sus și încercați să scoateți litere rusești. Dar asta e ghinionul - în loc de ele, afișajul tău arată tot felul de krakozyabry. Acest lucru se datorează faptului că nu există niciun font rusesc în bibliotecile de la Adafruit. Adăugați-l nu este dificil. Este necesar să înlocuiți în fișierul glcdfont.c din biblioteca Adafruit GFX anumite caractere pentru ruși în codificarea dorită. Cu toate acestea, fontul este proiectat pentru codificarea literelor de un singur octet, iar IDE Arduino utilizează pentru litere ruse un UTF-8 cu două octeți,







În codificarea rusă UTF-8 există un anumit model care permite convertirea de la UTF-8 la un cod rusesc cu un singur octet Windows-1251, care a fost ales să înlocuiască literele.

Funcția utf8rus () primește șirul original, caracterele cu coduri 0x00-0xBF trec fără a schimba șirul de ieșire, iar în celelalte coduri se selectează literele rusești și se recodează.

Funcția de transcodare a literelor rusești de la UTF-8 la Win-1251

Astfel, pentru a-ti rusina afisajul, ai nevoie de:
- descărcați oricare dintre arhivele de mai jos (sau mai mari);
- înlocuiți glcdfont.c în Adafruit-GFX cu acesta;
- adăugați funcția utf8rus () în schiță;
- introduceți următoarea comandă la începutul schiței: display.cp437 (true);

Puteți utiliza funcția utf8rus () în interiorul comenzilor de imprimare pentru șiruri de caractere:
display.println (utf8rus ("Test"));

Exemple pentru afișaje diferite

Nokia 5110 (PCD8544)







Trimiteți-le prietenilor: