Konfiguracja STM32CubeMX
W przykładzie: STM32F103C8T6, użycie TIMERA2, enkoder na pinach PA0, PA1
Zmiany w kodzie programu (main.c):
Przed główną pętlą
W pętli głównej, odczyt wartości enkodera:
Wartości uzyskiwane będą z przedziału 0 – [Counter Period] – w naszym przypadku 0 – 1000 włącznie. Po przekroczeniu wartości 1000 licznik zaczyna zliczać dalej od zera.
Nie trzeba uruchamiać przerwań, ani wykonywać dodatkowych konfiguracji.
Przykład uruchomienia na płytce Bluepill:
Enkoder podpięty pod wejścia PA0, PA1 – jak w konfiguracji.
Udostępniam projekt z kodami źródłowymi oraz binarnymi, które były używane do testów: encoder_test
W kodzie zaimplementowana jest obsługa wirtualnego portu szeregowego pod USB, oraz zmiana tempa błyskania LED PC13 w zależności od wartości licznika enkodera.
Powyższy opis w pliku PDF do wydruku: STM32 obsługa enkodera inkrementalnego