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



Teraz jest 16 lis 2024, o 12:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 10 mar 2017, o 12:10 
Offline
Nowy

Dołączył(a): 20 lis 2014
Posty: 2
Pomógł: 0

Witam wszystkich na wstępie.
Forum przeglądam od jakiegoś czasu, w miedzy czasie bawiąc się i ucząc języka C.
I mały problem, w chwili obecnej nieco mnie zblokował.
Mianowicie jak jednym klawiszem wejść w tryb switch i dalej tym samym klawiszem móc pomiędzy tymi trybami się przełączać.
Mam nadzieje, że nie zamotałem, pytania.
Za wszelkie podpowiedzi z góry dziękuje.


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2017, o 12:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

nano napisał(a):
Mianowicie jak jednym klawiszem wejść w tryb switch i dalej tym samym klawiszem móc pomiędzy tymi trybami się przełączać.

Wiesz co? Nie wnikając za bardzo w to co się dzieje w Twoim kodzie,

co masz na myśli pisząc wejść w tryb switch i się przełączać między trybami??

Switch działa jak taki komplet warunków if() zależnych od jakiejś zmiennej. Nie ma, że tam wchodzisz i zostajesz, żeby coś potem w środku przełączać. Ustawiasz jakąś zmienną zależnie od klawisza wciśniętego a w funkcji switch wykona się tylko ten case, którego numer odpowiada wartości tej zmiennej.
Jeżeli w danym case nie masz pętli, program tylko przeleci przez warunek aż do break, wykonując wszystko po drodze i wychodzi z funkcji ignorując wszystkie inne case'y. W kolejnym obiegu pętli programu znów sprawdzana jest wartość zmiennej i znów wchodzi (lub nie) do odpowiedniego case'a.

Napisz co chciałeś osiągnąć, bo coś chyba za bardzo namieszałeś. Jak odczytujesz klawisze, co robią funkcje
key_press_1( &button_1 );
key_press_2( &button_2 );
key_press_3( &button_3 );
key_press_4( &button_4 );
key_press_5( &button_5 );

co się dzieje ze zmienną licznik?

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2017, o 13:14 
Offline
Nowy

Dołączył(a): 20 lis 2014
Posty: 2
Pomógł: 0

Obsługa klawiszy jest na przerwaniach i z maskowaniem i ta część działa bezproblemowo.
Korzystałem z tego rozwiązania.
"http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-zwoka-czasowa-cd3.html"
Chcę wykorzystać reakcję klawisza też na dłuższe naciśniecie - to też fajnie działa tak jak chcę.

Problem mam, z tym napisać, żeby każde kolejne naciśniecie klawisza powodowało przeskok w trybie case.
Obecnie procek odczytuje jakby cały czas klawisz był naciśnięty.



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: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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