[CZĘŚĆ 1] STM32Butterfly2: Tetris na STM32 – wprowadzenie do mechanizmu gry

 

 

 

 

W artykule przedstawiamy sposób prostej implementacji na mikrokontrolerze STM32F107 znanej i popularnej od lat gry Tetris. Autor projektu wykorzystał peryferia zestawu STM32Butterfly2 i moduł z tanim monochromatycznym wyświetlaczem LCD z telefonu Nokia 3310.

 

 

Sposób połączenia modułu KAmodLCD z zestawem STM32Butterfly2, który zamienia ten zestaw w konsolę do grania, pokazano na rysunku 1. W aplikacji wykorzystano joystick znajdujący się na płytce „motyla”, który dołączono do wyprowadzeń mikrokontrolera w zestawie „na sztywno”. Do zaprogramowania mikrokontrolera potrzebny będzie programator JTAG, można użyć zgodnego z ST-Link/v2 programatora ZL30PRGv2 (fotografia 2). Projekt programistyczny utworzono za pomocą pakietu Atollic TrueSTUDIO Lite.

 

Rys. 1. Schemat ilustrujący połączenia niezbędne do prawidłowego działania Tetrisa na STM32Butterfly2

Rys. 1. Schemat ilustrujący połączenia niezbędne do prawidłowego działania Tetrisa na STM32Butterfly2

 

 

Z istniejących plików projektu interesują nas znajdujące się w katalogu src (pliki źródłowe) plik main.c i stm32f10x_it.c. W pierwszym znajduje się główna część programu, w drugim procedury obsługi przerwań.

 

Fot. 2. Wygląd programatora JTAG/SWD o nazwie ZL30PRGv2

Fot. 2. Wygląd programatora JTAG/SWD o nazwie ZL30PRGv2

 

 

Funkcja main to główna funkcja każdego programu, od niej rozpoczyna się jego wykonywanie. Na jego początku znajdują się procedury konfigurujące peryferia mikrokontrolera. W przykładowym projekcie procedury konfiguracyjne umieszczono w osobnych funkcjach, które kolejno wywołuje na początku funkcji main(), dlatego przed funkcją main należy umieścić deklaracje funkcji:

Ciała tych funkcji znajdują się na listingu 1.

 

List. 1. Ciała funkcji inicjujących mikrokontroler

 

Do pobrania

O autorze