[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.
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.
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.
Konieczne jest także włączenie obsługi przerwań w poleceniu NVIC Configuration – zaznaczamy przerwania dotyczące External Interrupt (EXTI).
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”.