Aplikacje biblioteki STM32 Embedded GUI: miniPaint na STM32F4DISCOVERY
W artykule przedstawiamy aplikację, której funkcjonalność odpowiada bardzo prostym programom graficznym – pozwala ona użytkownikowi metodą dotykową (za pośrednictwem touch-panela) rysować na ekranie wyświetlacza LCD. Aplikację wykonano bazując na bibliotece STM32 Embedded GUI, która na potrzeby aplikacji została nieco zmodyfikowana.
Fot. 1. Elementy składowe układu testowego
Fot. 2. Przykładowe skutki działania prezentowanej aplikacji
|
Projekt prezentowany w artykule wykonano na następujących elementach: – zestawie startowym STM32F4Discovery – wyświetlaczu LCD-TFT z touch-panelem Embest DM-LCD35RT Module – płycie bazowej Embest DM-STF4BB Base Board Elementy połączono ze sobą w konfiguracji domyślnej, dokładnie ją zilustrowano na filmie. |
Definicja komponentu
Aplikację zrealizowano z wykorzystaniem trzech rodzajów komponentów. Pierwszy komponent to przycisk z etykietą (już zdefiniowany w bibliotece Embedded GUI), a drugi to przycisk z kolorem (poniższe struktury są zdefiniowane w pliku graphicObjectTypes.h):
typedef struct GL_ButtonColorObj GL_ButtonColor_TypeDef;
/**
* @brief Struktura GL_ButtonColorObj definiuje obiekt typu ‘ButtonColor’
*/
struct GL_ButtonColorObj
{
uint16_t ID; // Unikalny numer ID obiektu
uint16_t Color; // Kolor wyświetlany na przycisku
GL_bool Control_Visible;
GL_bool ObjectTouched;
void (*EventHandler)(void);
};
Trzeci komponent to pole, w którym odbywa się rysowanie:
typedef struct GL_DrawboxObj GL_Drawbox_TypeDef;
/**
* @brief Struktura GL_DrawboxObj
*/
struct GL_DrawboxObj
{
uint16_t ID; // Unikalny numer ID obiektu
uint16_t Width; // Szerokość komponentu
uint16_t Height; // Wysokość komponentu
void (*EventHandler)(uint16_t x, uint16_t y);
};
Oprócz zdefiniowania nowych komponentów wymaganym jest jeszcze poszerzenie definicji typu wyliczeniowego GL_ObjType:
typedef enum{
GL_BUTTON = 1,
GL_RADIO_BUTTON = 2,
GL_CHECKBOX = 3,
GL_LABEL = 4,
GL_SWITCH = 5,
GL_ICON = 6,
GL_COMBOBOX = 7,
GL_SLIDEBAR = 8,
GL_HISTOGRAM = 9,
GL_GRAPH_CHART = 10,
GL_LISTBOX = 11,
GL_TEXTBOX = 12,
GL_BUTTON_COLOR,
GL_DRAWBOX,
} GL_ObjType;


POWER UP. Wybór przekaźników do bezpiecznych stacji ładowania prądem przemiennym: normy, wymagania i rozwiązania
Cztery dekady Vision Engineering Germany – precyzja, innowacje i ergonomiczna mikroskopia od 1986 roku
Taśma poliimidowa (Kapton®) w elektronice: zastosowania i właściwości 


![https://www.youtube.com/watch?v=gHcP8AajoN4 Szymon Robak oprowadza po katowickim Laboratorium Badań Kompatybilności Elektromagnetycznej w Sieć Badawcza Łukasiewicz - Instytucie Sztucznej Inteligencji i Cyberbezpieczeństwa. Zapraszamy na film! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/06/Szymon-Robak-tytulowe.png)
![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)

