Pierwsze kroki z zestawem STM32L0538-DISCO (4): modyfikacja symboli graficznych wyświetlanych na wyświetlaczu e-paper w zależności od stanu przycisków

W przykładzie użyjemy dwóch switchy: wbudowanego w płytkę User Button oraz zewnętrznego przełącznika, którego stan będzie odczytywany za pomocą linii GPIO PA1. Stan przycisków jest zobrazowany poprzez symbol elektryczny (zamknięty/otwarty) oraz tekst Button On i Button Off (fotografia 1). Przycisk z numerem 1 to przycisk User Button a przycisk z numerem 2 to przycisk zewnętrzny.

Fot. 1. Wygląd zestawu z wyświetlonym stanem przycisków

 

Na początku musimy zainicjalizować użycie typu GPIO_InitTypeDef GPIO_InitStruct. Funkcje ButtonOff i ButtonOn wyświetlają grafiki odpowiadające dwóm stanom przycisków. Kolejne funkcje Button1OffButton2Off, Button1OnButton2Off, Button1OffButton2On i Button1OnButton2On zawierają instrukcje wyświetlające grafikę oraz tekst odpowiadający wszystkim czterem kombinacjom stanów przycisków.

W funkcji main() musimy zainicjalizować użycie następujących funkcji:

Następnie musimy skonfigurować pin, który będzie odczytywał stan przycisku zewnętrznego. Wykorzystamy do tego pin PA1 należący do linii GPIOA, ustawimy ten pin jako wejście (input) w trybie Push/Pull z rezystorem ściągającym do GND.

Ustawiamy na pinie PA1 stan niski za pomocą instrukcji:

W nieskończonej pętli zawarte są cztery instrukcje warunkowe, które wyświetlają odpowiedni stan przycisków na wyświetlaczu sprawdzając stan przycisku User Button oraz stan pinu PA1. Dodatkowym warunkiem jest wartość flagi, dzięki której po naciśnięciu przycisku grafika nie jest cały czas odświeżana.

Zewnętrzny przycisk powinien być podłączony przewodami do pinów 3V_O i do pinu PA1.

Jakub Górnicki