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

Konfiguracja STM32 za pomocą narzędzia CubeMX

Do konfiguracji mikrokontrolera STM32F411CEU6 płytki KA-NUCLEO-F411CE użyjemy narzędzia CubeMX umożliwiającego szybkie i wygodne skonfigurowanie mikrokontrolera do pracy. Narzędzia tego używaliśmy do konfiguracji wyprowadzeń sterownika diody LED RGB (artykuł „KA-NUCLEO-F411CE i Waveshare Accessory Shield – obsługa diody RGB i sterownika P9813”). W tym przykładzie posłużymy się poprzednim projektem i uzupełnimy go o obsługę joysticka.

Konfigurację rozpoczynamy od pobrania pliku projektu, który uzupełnimy o sygnały sterujące z joysticka. Po otwarciu pobranego projektu programu CubeMX, zaznaczamy na grafice mikrokontrolera interesujące nas wyprowadzenia zgodnie z powyższą tabelą. Jako stan pinu portu zaznaczamy GPIO_EXTIx co oznacza GPIO External Interrupt, czyli zewnętrzne przerwanie.

Rys. 4. Ustawienie pinów do pracy z joystickiem w programie CubeMX

W kolejnym oknie przeprowadzamy konfigurację ustawionych pinów GPIO. Ustawiamy takie parametry jak: reakcję na zbocze opadające, podciągnięcie wejścia (Pull up) oraz nadajemy nazwę sygnału sterującego.

Rys. 5. Dodawanie nazw dla pinów i ich konfiguracja w programie CubeMX

Z powodu ograniczonej funkcjonalności mikrokontrolera istnieje możliwość konfiguracji tylko jednego z dwóch pinów mikrokontrolera jako źródła zewnętrznego przerwania – chodzi o linie PA1 i PB1, które są podłączone do jednego wejścia kontrolera przerwań i jednoznaczna detekcja zbocza możliwa jest tylko na jednym pinie naraz. Z tego powodu pin CTR ustawiamy jako wejście z podciąganiem. W tym projekcie nie będziemy z niego korzystali. W przypadku chęci użycia przycisku CTR, należy wykonać na nim wcześniej wspomniany debouncer.

Rys. 6. Dodawanie nazw dla pinu sygnału CTR i konfiguracja w programie CubeMX

Konieczne jest także włączenie obsługi przerwań w poleceniu NVIC Configuration – zaznaczamy przerwania dotyczące External Interrupt (EXTI).

Rys. 7. Uruchomienie przerwań w programie CubeMX

Ostatnim krokiem jest wygenerowanie plików projektu i import do programu AC6. Kroki te zostały szczegółowo opisane w artykule „KA-NUCLEO-F411CE i Waveshare Accessory Shield – obsługa diody RGB i sterownika P9813”.

Do pobrania

O autorze