LinkedIn YouTube Facebook
Szukaj

Wstecz
Artykuły

ISIX-RTOS – przykłady w języku C: LCD+joystick+LED

 

Opis systemu ISIX-RTOS i jego funkcji opublikowaliśmy w artykule „Mini system operacyjny dla STM32 – wprowadzenie”, który można przeczytać tu.

 

Pierwsza seria artykułów zawierająca wprowadzenie do systemu ISIX z przykładami w języku C++ cieszyła się zainteresowaniem wśród użytkowników mikrokontrolerów STM32. Napływające pytania skłoniły mnie do napisania drugiej wersji przykładów – tym razem napisanych w języku C. W przykładzie opisanym poniżej pokażemy, jak tworzyć wątki w języku C z wykorzystaniem systemu ISIX oraz w jaki sposób skomunikować je ze sobą. Przedstawimy również możliwość wykorzystania wątków do realizacji trzech niezależnych zadań. W naszym przykładzie jeden wątek odpowiada za miganie diodą D1 w zestawie STM32Butterfly, drugi wątek odpowiada za sprawdzanie stanu joysticka Joy1 i w przypadku zwarcia którychś z jego styków, będzie wysyłał kod za pomocą kolejki komunikatów do trzeciego wątku, który odbiera komunikaty o naciśnięciach klawiszy i wyświetla odpowiednie informacje na graficznym wyświetlaczu LCD.

Do uruchomienia przykładu potrzebować będziemy dodatkowego modułu KAmodLCD1 (z wyświetlaczem z telefonu Nokia 3310), który należy podłączyć do zestawu STM32Butterfly według schematu pokazanego na rys. 1 (można do tego celu wykorzystać przewody CAB_A).

 

 

Rys. 1. Schemat połączeń 
elektrycznych pomiędzy modułem KAmodLCD1 i STM32Butterfly

Rys. 1. Schemat połączeń elektrycznych pomiędzy modułem KAmodLCD1 i STM32Butterfly

 

 

Działanie przykładowej aplikacji z uwzględnieniem podziału na wątki przedstawiono na rys. 2.

 

 

Rys. 2. Działanie 
przykładowej aplikacji z uwzględnieniem podziału na wątki

Rys. 2. Działanie przykładowej aplikacji z uwzględnieniem podziału na wątki

 

Tagi: GPIO, ISIX, LED, RTOS, STM32