Możliwe że z racji późnej pory nic konstruktywnego nie wpadło mi do głowy stąd pytanie na forum. Mam napisany doś duży program na atmega32 który to między innymi posiada absługę menu na LCD i kolejno wybierane opcje sterują zasadniczym programem. Zrobiłem tez procedurę sprawdzająca bezczynność obsługi klawiatury i w zalezności od czasu "nic nie robienia" program automatycznie generuje kod znaku "ESC" czyli ucieczki z menu piętro wyżej. Pod drodze znajdują się procedury zapamietania ekranu i przywrócenia jego poprzedniego stanu. Procedury te utrzymują przechowując w lokalnej zmiennej zapamiętany obraz pamięci DRAM z LCD. Przyszło mi do głowy aby w przypadku bezczynności opuścić aktualny poziom menu i przjeść do jego najwyższego poziomu. Lokalne "podmenu" zagłebiają się najwyzej do na "4-5"poziom i to co w pierwszej chwili wpadło mi do głowy to użyć stosu aby z tamtąd dobrać się do adresu nadrzędnej procedury (procedura main) która to wywołuje kolejne, itd.. Pytanie gdzie znajduje się ten stos i jak się do niego dobrać ? Krótko mówiac chodzi o ustalenie adresu miejsca w pamięci programu które wywołuje kolejne procedury. Jesli to będe miał reszta to pikuś odwołam się do niego jako wskaźnika funkcji i jakoś to poleci dalej. Może któś podrzucić mi jakieś sensowne i w miarę proste rozwiazanie
Na etapie aktualnej "prowizorki" program działa dośc sprawnie tylko że owa bezczynność a w zasadziej jej sprawdzanie powoduje że kolejno przechodzę przez wszystkie poziomy menu aż do menu nadrzędnego, a chciałbym tego uniknąć i przejśc wprost do głownej częsci programu programu.
