logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

SMT32 - Jak obrócić tekst na wyświetlaczu HY32D z ILI9320?

piochu91 03 Paź 2012 22:41 2955 10
REKLAMA
  • #1 11374993
    piochu91
    Poziom 9  
    Posty: 27
    Witam!

    Od jakiegoś czasu próbuję napisać program do obsługi wyświetlacza HY32D ze sterownikiem ILI9320. Wcześniej korzystałem z biblioteki ucGUI, jednak stwierdziłem, że chciałbym zacząć od czegoś prostszego. W tej bibliotece jest funkcja, która wyświetla napis w orientacji poziomej. Próbowałem zrozumieć jak ona działa, ale jest to zbyt skomplikowane, tzn. korzysta z funkcji, które korzystają z innych funkcji, a tamte z jeszcze innych itd. Dlatego znalazłem przykładowy kod, dzięki któremu mogę wyświetlić napis, ale tylko w orientacji pionowej i działa to bardzo dobrze. Stąd pytanie, jak mogę go wyświetlić w orientacji poziomej?

    Poniżej załączam trochę kodu:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 11375026
    stanleysts
    Poziom 27  
    Posty: 838
    Pomógł: 115
    Ocena: 2
    Musisz sobie przerobić te funkcje to wbrew pozorom nie jest trudne, główna funkcja Ci wyświetla znaki, następna ten konkteretny znak składający się z pikseli. Trzeba to tylko odpowiednio odwrócić do pozycji pionowej. Zobacz sobie ile pixeli w pionie i w poziome zajmują te znaki, to powinno być łatwiej.
  • REKLAMA
  • #3 11377278
    starob
    Poziom 29  
    Posty: 1088
    Pomógł: 128
    Ocena: 137
    Co rozumiesz pod hasłem poziomo? Dokładnie jaki efekt chcesz uzyskać? ..wszystkie napisy poziomo na dłuższym boku, czy mieszane (poziome i pionowe)?
  • #4 11377299
    piochu91
    Poziom 9  
    Posty: 27
    Poziomo, czyli chodziło mi o to, żeby tekst można było odczytać względem dłuższego boku wyświetlacza. Ale już rozwiązałem mój problem, wystarczyło zmienić kilka rzeczy w funkcji PutChar. Poniżej wklejam kod:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jednak chciałem, aby napis był z drugiej strony wyświetlacza, tzn. obrócony o 180 stopni, ale pomyślę nad tym jak będę miał trochę więcej czasu.

    Pozdrawiam
  • REKLAMA
  • #5 11377324
    starob
    Poziom 29  
    Posty: 1088
    Pomógł: 128
    Ocena: 137
    Operacje na rejestrze R03 (bity AM, I/D) LCD są odpowiedzialne za orientacje i lustrzane odbicie.
  • REKLAMA
  • #6 11377336
    piochu91
    Poziom 9  
    Posty: 27
    Wiem, czytałem o tym w dokumentacji, jednak gdy zmieniałem tylko bit AM w rejestrze R03, albo też I/D w różnych konfiguracjach to nic się nie zmieniało.
  • #7 11472016
    MarekEm
    Poziom 12  
    Posty: 13
    Pomógł: 4
    W załączniku masz bibliotekę mHY32D - jest to scalona biblioteka z GLCD i Touchscreen.
    Jest w niej funkcja: LCD_FormatSet(x) - gdzie: x=0 => ekran poziomo, x=1 => ekran pionowo. Poza tym parę dodatkowych funkcji do grafiki i touchscreena.
    Załączniki:
    • mHY32D.rar (15.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #8 12625502
    Gieha
    Poziom 11  
    Posty: 29
    Witam , próbuję użyć tego wyświetlacza , nie potrzebuję wielkiego GUI wystarczy mi sam tekst ale z możliwością zmiany wielkości czcionki , próbowałem przerobić putChar() ale bez efektu . W którym miejscu powinienem kombinować ? Może z AsciiLib ?
  • #9 12631031
    Gieha
    Poziom 11  
    Posty: 29
    Posiedziałem godzinkę i zmodyfikowałem tak PUTchar() że znaki są większe + modyfikacja odstępów w GUItext() .
  • #10 13022530
    Aimeiz
    Poziom 16  
    Posty: 290
    Pomógł: 2
    Ocena: 20
    MarekEm napisał:
    W załączniku masz bibliotekę mHY32D - jest to scalona biblioteka z GLCD i Touchscreen.
    Jest w niej funkcja: LCD_FormatSet(x) - gdzie: x=0 => ekran poziomo, x=1 => ekran pionowo. Poza tym parę dodatkowych funkcji do grafiki i touchscreena.


    Kolego MarekEm.
    Czy tę bibliotekę pisałeś pod Toolchain ARM GCC?
    Poszukuję biblioteki to tego wyświetlacza pod środowisko CooIDE i do oprogramowania płytki HY-MiniSTM32 z wyświetlaczem HY32D.
  • #11 13069704
    Aimeiz
    Poziom 16  
    Posty: 290
    Pomógł: 2
    Ocena: 20
    Ta biblioteka mHY32D jest bardzo fajna.
    Udało mi się ją wciągnąć pod CoIDE, napisać programik z ćwiczeniem elementów graficznych do projektu który w krótce zrobię. I uruchomić to na płytce HY-MiniSTM32 (procesor STM32F103VC i wyświetlacz HY32D.
    Ponieważ będę potrzebował duże napisy, więc dorobiłem taką funkcję z prostą skalą fontów.
    CoIDE jest bardzo wygodne i banalnie proste w konfiguracji, dlatego wolę to niż Eclipse.
    Projekt trzeba kompilować z ustawioną funkcją linkera - Use C Base library. Inaczej nie poradzi sobie z rysowaniem okręgu.

    Jak ktoś chce się pobawić i może podorabiać jakieś fajne kawałki, to załaczam chodzący projekt CoIDE.

    Na przykładzie tej biblioteki, można dosyć łatwo nauczyć się wykorzystywać kody źródłowe z demo dołaczanego do HY-MiniSTM32.

    MarkuEm - dziękuję. Dzięki temu ruszyłem do przodu z projektem.
    Załączniki:
    • HY32D_test.zip (363.65 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Użytkownik poszukiwał sposobu na wyświetlenie tekstu w orientacji poziomej na wyświetlaczu HY32D z kontrolerem ILI9320, korzystając z funkcji GUI_Text. Po kilku próbach i analizie kodu, udało mu się rozwiązać problem poprzez modyfikację funkcji PutChar, co pozwoliło na wyświetlanie tekstu w orientacji poziomej. Dodatkowo, poruszono kwestie związane z rejestrami R03, które odpowiadają za orientację i lustrzane odbicie, oraz zaproponowano bibliotekę mHY32D, która zawiera funkcje do zmiany orientacji ekranu. Użytkownicy dzielili się również doświadczeniami związanymi z modyfikacją czcionek i korzystaniem z różnych środowisk programistycznych.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA