Czyli za pomocą funkcji memcpy_P odczytujemy znacznik callback i jeśli w danym menu znajduje się jakaś funkcja np. set_clock, to zmienną event i inouth wpisujemy do wskaźnika *call za pomocą komendy pobrania adresu &call. W miedzy czasie dzięki callbeckowi wywołujemy funkcję set_clock. Następnie sprawdzamy czy mamy tą samą pozycje menu. Jeśli tak, to nadpisujemy zmienną event wartością menu_event, a zmienną inoutch wartością current, jeśli nie, to nadpisujemy wartościami (menu_event, in)
Natomiast w funkcji set_clock cały czas sprawdzamy wartość zmiennych event-(menu_event) i inout-(current,in). Jeśli nie zmienimy pozycji menu, switch(event) zaczyna sprawdzać który przycisk naciśniemy. Domyślnie jest E_IDDLE czyli 0
Wiem, że męczę
ale chciałbym mieć pewność, że dobrze to rozumiem
Może takie dokładne wytłumaczenie przyda się nie tylko mi
Co to za warunek ?? co On sprawdza ?? :
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Czy mógłbyś wrzucić cały plik ?? staram się i nie mogę uruchomić menu z tego co wkleiłeś. Błędów nie mam a menu nie chodzi...
edit
Dobra, wszystko działa
Dla takich zielonych osób jak ja( s1_lcnt jest to przerwanie ). Teraz muszę jeszcze przerobić menu pod siebie
Dlatego nadal proszę o poprawnie mnie jeśli źle rozumiem działanie.