[PROJEKT] KA-NUCLEO-F411CE i Waveshare Accessory Shield – obsługa joysticka wraz z diodą RGB

Programowanie funkcji obsługi joysticka

Uzupełnienie plików projektu

Po wygenerowaniu plików projektu i zaimportowaniu ich do programu AC6 należy uzupełnić pliki main.c, oraz stm32f4xx_it.c z projektu. Zawierają one definicję funkcji odpowiedzialnych za sterowanie diodą RGB, którą będziemy sterowali joystickiem. Pliki te można podmienić w eksploratorze plików lub w środowisku AC6. Po podmianie plików dobrze jest skompilować projekt w celu sprawdzenia czy wszystko wykonaliśmy poprawnie.

Programowanie funkcji obsługi przerwań od przycisków

Programowanie funkcji przerwań zewnętrznych odbywa się w pliku main.c – funkcja callback. Są to funkcje odpowiedzialne za realizację obsługi danego przerwania. W naszym przypadku definicję funkcji callback umieścimy w sekcji „Private function prototypes”. Jej postać wygląda następująco:

W funkcji obsługi przerwania sprawdzane jest źródło przerwania, czyli przycisk, od którego wystąpiło przerwanie. Wykonywane jest to za pomocą instrukcji warunkowych. Każdy z przycisków ma za zadanie przypisać do zmiennej „setColor” numer koloru do ustawienia. Działanie funkcji callback wymaga wcześniejszego zdefiniowania zmiennej „setColor” w sekcji „Private variables”.

W funkcji głównej main w pętli nieskończonej while tworzymy strukturę składającą się z pięciu instrukcji warunkowych, ustawiających kolor diody RGB w zależności od wybranej opcji za pomocą joysticka.

Ostatnim krokiem jest skompilowanie zmodyfikowanego projektu i wgranie go na płytkę KAnucleo z ekspanderem.

Do pobrania

O autorze