ADS7843 i STM32: obsługa dotykowego panelu rezystancyjnego

Praca z panelem dotykowym jest możliwa natychmiast, po odpowiedniej konfiguracji interfejsu SPI w mikrokontrolerze. Na listingu poniżej przedstawiono fragment odpowiedzialny za inicjalizację bloku SPI oraz używanych linii.

 

List. 1. Funkcja konfigurująca peryferia

 

Interfejs SPI2 jest skonfigurowany do pracy jako master w trybie full-dupleks. Ramka danych przesyłanych jednorazowo to 8 bitów. Gdy przez interfejs nie są transmitowane żadne dane linia zegarowa jest w stanie wysokim.

Do wysyłania komend sterujących pracą kontrolera wykorzystywana jest funkcja Wyslij_Komende(char cmd), której listing przedstawiono poniżej.

 

Listing 2. Funkcja wysyłająca dane na magistralę SPI

 

Po wysłaniu odpowiedniej komendy, układ jest gotowy do wykonania konwersji napięcia znajdującego się na wybranej okładce. Odczyt pomiaru dokonywany jest za pomocą funkcji  Odczytaj_Pomiar().

 

List. 3. Funkcja

 

Powyższe funkcje sprawiają, że dwie funkcje pobierające z kontrolera ADS7843 pozycję miejsca, w którym ekran został dotknięty stają się bardzo czytelne. Poniżej przedstawiono listing funkcji Odczyt_X() oraz Odczyt_Y(). Obie funkcje nie wymagają podawania żadnego parametru. Każda z nich zwraca skonwertowaną wartość napięcia do postaci liczby określającej położenia punktu dotyku na panelu.

Do pobrania

O autorze