Dzięki za odpowiedzi. Tak też myślałem, ale na razie zrobię na zwykłych przyciskach. Jak będzie działać, to wezmę się za encoder

Tymczasem menu już mam prawie całe rozgryzione na kartce papieru

Zatrzymałem się na funkcji prev();
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jak rozumiem jest to f. która jest przeciwna do funkcji next();. Czyli służy do poruszania się po menu na tym samym poziomie przeciwnie do next();

. Jeżeli next(); powoduje przejścia np. menu1->menu2->menu3, to f. prev(); menu3->menu2->menu1 czyli przeciwnie. Ale teraz jak to wygląda teoretycznie... załóżmy, że jestem na menu3 i wciskam przycisk który wywołuje mi f. prev();, to skutkiem powinno być pojawienie się na LCD menu2, więc:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
następnie w f. prev(); tworzymy 'lokalny' wskaźnik 'i' na strukt. menu. Następnie mamy wyrażenie
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
które według mnie powinno być równe:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czyli wskaźnik na strukturę menu stop; Więc teraz
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to według mnie jest równe wskaźnikowi na manu1 ? Czyli w konsekwencji
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Taki wynik trafia do while() który jest spełniony, więc przypisuje wskaźnikowi adres i = i->next czyli i = menu2; Więc
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czyli tak jak być powinno
Czy moje powyższe teoretyczne rozumowanie jest prawidłowe

Ale coś jest nie tak w tym moim rozumowaniu, bo gdy początkowa pozycja = menu1, to po f. prev(); też trafiam do 'menu2;' a chyba pozycja powinna być nie zmieniona i wskazywać w tym przypadku cały czas na nenu1; gdy wciskany jest przycisk odpowiedzialny za f. prev();
