Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 12 lut 2025, o 22:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 18 lut 2013, o 19:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2012
Posty: 119
Pomógł: 3

Witam.

Jak zwykle niechętnie zakładam temat z prośbą ale niestety czas i nóż na gardle mnie do tego zmusza. :(

Zaadaptowałem sobie (czyt. ułożyłem strukturę opcji pod swój sterownik) menu z książki tmf'a (z tego tematu http://forum.atnel.pl/topic1861.html - po poprawkach naszych Forumowiczów).
Mam problem ze skutecznym podpięciem funkcji do opcji tego menu. Przejście z menu do submenu a następnie do jakiejś opcji, powoduje wywołanie funkcji

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Oczywiście zawartość tej funkcji to przykładowy kod, który wykona się tylko raz po naciśnięciu przycisku. Mi chodzi o to, aby po wejściu w daną opcję, dało się zmienić jakiś parametr, np. czas a po ustawieniu wyjść z edycji jednocześnie zapisując ustawienie do eeprom.

Zacząłem kombinować z ustawianiem flagi po wciśnięciu klawisza i uruchamianiem odpowiedniej funkcji w pętli while(1). No i tu mi się zaczyna wszystko gryźć bo o ile z pomocą timera programowego jakoś mi się to wyświetlało na lcd, to do obsługi menu używam jednych funkcji klawiszy w oparciu o SuperDebounce Mirka, a do edycji parametru drugich funkcji - kolejna flaga zmieniająca ustawienia klawiszy. Do tego występuje efekt nakładania się wywoływanej funkcji - np. napisów w pętli while(1) na wyświetlane menu.

Jak się za to skutecznie zabrać, żeby nie "oflagować" całej pętli głównej ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2013, o 19:40 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

A może moje menu ?:) Polukaj może Ci podpasuje :)
topic2226.html

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2013, o 19:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2012
Posty: 119
Pomógł: 3

@Lukasz89
Tak, widziałem je, nawet chwilowo testując, przerabiałem pod inną wersję debounce Mirka, dostępną na jego blogu.
Pewnie coś skaszaniłem po drodze bo reakcja na naciśnięcie przycisku i przesuwanie "ptaszka" po opcjach nie była natychmiastowa.

Spróbuję jeszcze z nim pokombinować na SuperDebounce.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2013, o 20:37 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Menu,jesli w nim oczywiście jesteś czyli pozycja różna od stop, jest mielona cały czas w pętli więc, więc coś innego zatrzymuje program.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2013, o 22:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2012
Posty: 119
Pomógł: 3

Czyli musiałem mieć jakiegoś babola w kodzie. Zrobiłem z superdebounce i teraz działa ok.

Ogólnie to co nieco napisałem, wymaga to poprawek i oszlifowania, ale przede wszystkim działa a przynajmniej działa w przypadku obsługi 1 parametru pracy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO