Witam,
chciałbym wykonać menu na LCD 2 x 16 z wykorzystaniem 4 klawiszy pozwalających na manipulację poziomami menu a mianowicie: UP, DOWN, MENU, EXIT. Do tej pory udało mi się jedynie zmieniać położenie w menu jednak z wykorzystaniem enkodera. Założenia są następujące:
- po starcie urządzenia na wyświetlaczu pojawia się informacja odnośnie temperatury odczytanej z czujnika oraz temperatury zadanej
- wciśnięcie klawisza MENU pozwala na przejście do listy menu a nawigacja odbywa się za pomocą klawiszy UP, DOWN
- ponowne wciśnięcie klawisza MENU na wybranej pozycji pozwala na zmiana wartości nastawy, którą regulujemy klawiszami UP, DOWN
- po wybraniu wartości klawiszem MENU zatwierdzamy wartość nastawy
- klawisz EXIT powoduje cofanie się w menu (np. przejście z submenu do menu głównego)
Próbowałem już wielokrotnie przerobić na własne potrzeby pewien kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Tutaj moja własna wersja na enkoderze (main.c):
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Plik menu.c:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Oraz plik menu.h:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Największy problem sprawia mi napisanie poprawnej funkcji która obsłuży możliwość regulacji parametrów z submenu. Korzystałem już z poradników odnośnie CALLBACKÓW jednak funkcje nie reagują na działanie klawiszy czy też przycisku enkodera.
Z góry dziękuje za pomoc i pozdrawiam