Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2019:littlevgl-stm32f429

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2019:littlevgl-stm32f429 [2020/01/20 15:53]
Jakub Sedlák [Demonstrace funkcí knihovny]
2019:littlevgl-stm32f429 [2020/01/20 20:32] (aktuální)
Jakub Sedlák [Závěr]
Řádek 77: Řádek 77:
 Samotné vytváření objektů a jejich případných callbacků, či eventů je programováno ve funkci **my_demo_create**,​ která se nacházi v souboru **src/​ukazka.c**. Při vytváření ukázky jsem využíval návodů na webových stránkách a také již funkčních řešení. Ze začátku jsem vyšel z výše zmíněného rozhraní, které jsem na desku portoval jako první. Musím zmínit, že knihovna obsahuje spoustu objektů a možností, že není možné je všechny zároveň prezentovat. Samotné vytváření objektů a jejich případných callbacků, či eventů je programováno ve funkci **my_demo_create**,​ která se nacházi v souboru **src/​ukazka.c**. Při vytváření ukázky jsem využíval návodů na webových stránkách a také již funkčních řešení. Ze začátku jsem vyšel z výše zmíněného rozhraní, které jsem na desku portoval jako první. Musím zmínit, že knihovna obsahuje spoustu objektů a možností, že není možné je všechny zároveň prezentovat.
  
-Jako první věc, co jsem změnil bylo pozadí grafického rozhraní. Buď je možné vytvořit nějaké pozadí ručně a nebo je možné aplikovat nějaký obrázek. Knihovna samotná neumí pracovat s formáty jako je JPG nebo PNG. Na webových stránkách je ovšem k dispozici converter, který s těchto formátů vygeneruje .c formát, který už umí knihovna použít. Je tedy možné si na pozadí nastavit téměř jakýkoliv obrázek.+Jako první věc, co jsem změnil bylo pozadí grafického rozhraní. Buď je možné vytvořit nějaké pozadí ručně a nebo je možné aplikovat nějaký obrázek. Knihovna samotná neumí pracovat s formáty jako je JPG nebo PNG. Na webových stránkách je ovšem k dispozici converter, který s těchto formátů vygeneruje ​**.c** formát, který už umí knihovna použít. Je tedy možné si na pozadí nastavit téměř jakýkoliv obrázek.
  
 K vysvětlení základních nastavení použiji příklad vytvoření blikání ledkou na displeji pomocí tlačítka. K vysvětlení základních nastavení použiji příklad vytvoření blikání ledkou na displeji pomocí tlačítka.
Řádek 98: Řádek 98:
 lv_obj_align(led1,​ NULL, LV_ALIGN_CENTER,​ 0, -40); //​nastavení pozice ledky lv_obj_align(led1,​ NULL, LV_ALIGN_CENTER,​ 0, -40); //​nastavení pozice ledky
 </​code>​ </​code>​
-Nyní je naprogramováno tlačítko i ledka. Zbývá už jen přidat funkci na blikání ledkou. K tomuto jsou v této knihovně používány funkce event_handler. ​+Nyní je naprogramováno tlačítko i ledka. Zbývá už jen přidat funkci na blikání ledkou. K tomuto jsou v této knihovně používány funkce ​**event_handler**
 <code c> <code c>
 static void btn1_event_handler(lv_obj_t * obj, lv_event_t event) static void btn1_event_handler(lv_obj_t * obj, lv_event_t event)
Řádek 108: Řádek 108:
 </​code>​ </​code>​
  
-Na tomto principu funguje vytváření většiny objektů v této knihovně. Moje demonstrující ukázka obsahuje rozšířenou vzorovou verzi o kalendář a blikání ledkou.+Na tomto principu funguje vytváření většiny objektů v této knihovně. Moje demonstrující ukázka obsahuje rozšířenou vzorovou verzi o kalendář a blikání ledkou. Celý kód obsahující tyto objekty je v souboru **ukazka.c**.
  
-Ukázka+{{youtube>​qRJtxZOd0-s?​medium}} 
 + 
 + 
 +----
  
  
Řádek 118: Řádek 121:
 ===== Závěr ===== ===== Závěr =====
  
 +Během řešení tohoto projektu byla portována grafická knihovna LittlevGL na vývojový kit STM32F429. Dále byly stručně demonstrovány některé funkce této knihovny. Knihovna jako taková je velmi obsáhlá a skrývá spoustu zajímavých možností, co se týče tvorby grafického rozhraní. Mým plánem bylo původně vytvořit detailnější a obsáhlejší ukázku. Bohužel jsem se během řešení potýkal se spoustou problémů. Problémy nastaly jak při portování knihovny na desku, tak poté při používání jednotlivých funkcí. Většina úskalí měla nakonec banální řešení, které mi ovšem vzhledem k mým programovacím znalostem většinou po dlouhou dobu unikalo. Výsledná kvalita zpracování projektu není tedy valná, ale snad aspoň nastínila možnosti této knihovny. Pro širší pochopení doporučuji navštívit webové stránky knihovny, kde jsou všechny funkce popsány a vysvětleny. ​
 ---- ----
  
Řádek 127: Řádek 131:
 ===== Soubory ===== ===== Soubory =====
  
 +[[https://​drive.google.com/​file/​d/​1LSIssBNarClxF5JNQPHA2XXfH3DlbRVr/​view?​usp=sharing|Projekt ke stažení]]
  
  
2019/littlevgl-stm32f429.1579532037.txt.gz · Poslední úprava: 2020/01/20 15:53 autor: Jakub Sedlák