Niestety jest jakiś BUG w tym programie i nie bardzo sobie umiem z tym poradzić.....
Zrobiłem dwie wersje, same menu z książki Tomka, jeden z oryginalnymi bibliotekami z książki, drugi z bibliotekami Mirka (w archiwum są dodane puste pliki, trzeba sobie skopiować Mirkowe biblioteki z płytki).
Jeżeli ustawimy wyświetlacz LCD 2x16 to menu pięknie działa, wchodzi bez problemu w każde podmenu, cofa się, zawijanie działa bez problemu nic się nie kaszani, w obydwu przypadkach.
Niestety jeżeli ustawimy wersję 4x16, to na bibliotekach LCD Tomka, program od razu idzie w maliny, czyli na początek na wyświetlaczu pojawiają się wszystkie wypełnione pola (jak przy źle ustawionym kontraście), potem przy naciskaniu klawisza K_up, K_down, coś tam się pojawia, tj. dwie pierwsze linijki prawidłowo, dwie następne pełne... poruszanie po menu kończy się pójściem programu w maliny, jest jak by przesunięta cała adresacja przy 4x16.
Na bibliotekach Mirka, jest lepiej, na początek mamy prawidłowo wyświetlone menu, czyli
Menu1
Menu2-> PodmenuA1
Menu3 PodmenuA2-> I tu się już krzaczy
Menu4 PodmenuA3
Niestety przy wchodzeniu w podmenu A2 znowu, pełny ekran.
Co ciekawe, poprzesuwamy kilka razy menu (w ciemno bo na ekranie bez zmian) klikniemy klawisz Ok to w końcu wrócimy, albo do głównego menu, albo do podmenu, ale przy próbie wchodzenia w podmenu to samo.....
Podobnie jest z użyciem klawisza K_up, na głównym menu, jeżeli kursor jest na Menu1 i damy do góry, to zamiast przeskoczyć na Menu4 idzie w maliny, w dół działa.
Wrzucam jeszcze kod obsługi poruszania po menu z wersji + biblioteki LCD Mirka
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nawet nie wiem, gdzie się zahaczyć, przyznaje się bez bicia, nie do końca rozumiem dlaczego tak się dzieje, czemu dla 2x16 działa prawidłowo całe menu, a dla 4x16 się krzaczy i to niezależnie od bibliotek obsługi LCD.