ZL31ARM: implementacja funkcji graficznych 2D
Celem projektu jest przygotowanie procedur programowych do wyświetlenia prostych konstrukcji graficznych typu punkt, linia, figury geometryczne 2D, ich transformacja w postaci obrotów i przesunięć.
Do przygotowania przykładowych procedur wykorzystano modułu z wyświetlaczem LCD (KAmodTFT2 firmy KAMAMI.pl) oraz komputerek zintegrowany z programatorem JTAG – ZL31ARM z wbudowanym mikrokontrolerem STM32F103RB. Schemat elektryczny połączeń linii we/wy mikrokontrolera STM32 i modułu KAmodTFT2 pokazano na rysunku 1.
Rys. 1. Schemat podłączenia przycisków i wyświetlacza (zestawy ZL31ARM+KAmodTFT2)
Wygląd połączonych ze sobą elementów zestawu testowego (ZL31ARM oraz KAmodTFT2) pokazano na fotografii 2.
Fot. 2. Wygląd zestawu testowego
Na fotografii 3 przedstawiono w jaki sposób związano układ współrzędnych, w którym operuje się standardowo (w zakresie od 1 do 130), z powierzchnią wyświetlacza.
Fot. 3. Standardowy układ współrzędnych
Programy opisane w artykule powstały na bazie bibliotek opisanych w książce „Mikrokontrolery STM32 w praktyce”, dlatego przed rozpoczęciem ich testowania należy pobrać pliki źródłowe przykładów z tej książki (dostępne m.in. na stronie Wydawnictwa BTC). W pliku archiwum znajduje się katalog Libraries, który należy skopiować do katalogu z zainstalowanym środowiskiem µVision (np. C:\Keil\ARM\). Z biblioteki należy wybrać potrzebne pliki i dodać je do własnego projektu: przykładowo plik stm32f10x_conf.h można skopiować np. z katalogu \Project\R9_sd_fatfs tejże biblioteki i nie wymaga on żadnej modyfikacji. Następnie klikamy na Options for Target… i w zakładce C/C++ w polu Define dodajemy następujące parametry: STM32F10X_MD, USE_STDPERIPH_DRIVER. Oprócz tego należy dodać ścieżki dostępu do plików źródłowych w Include Paths (rysunek 4). W zakładce Debug wybieramy Use ST-Link (Deprecated Version) i to samo robimy w zakładce Utilities, gdzie występuje pole Use Target Driver for Flash Programming.
Rys. 4. Dodane ścieżki dostępowe Include Paths