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



Teraz jest 12 lip 2026, o 13:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 9 lut 2017, o 15:01 
Offline
Użytkownik

Dołączył(a): 06 wrz 2016
Posty: 35
Zbananowany użytkownik

Pomógł: 0

Mam problem ze zrobieniem obsługi 4 klawiszy z wykorzystaniem SuperDebounce z BB. Dla uproszczenia płytki 4 klawisze są podłączone do 3 różnych portów. Problem polega na tym, że wciskanie klawisza 1 wywołuje funkcję przypisaną dla klawisza 3 i odwrotnie. Ale jak zakomentuję sprawdzanie klawisza 1 to klawisz 3 działa prawidłowo. Zakomentowanie sprawdzania klawisza 3 powoduje prawidłowe działanie klawisza 1. Żeby wyeliminować wpływ innych fragmentów kodu, napisałem krótki program do testów i problem nadal występuje. Poniżej kod:

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


Co robię źle? Jak rozwiązać ten problem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2017, o 15:30 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 568
Pomógł: 28

coś namieszałeś w w funkcji SuperDebonce bo masz inny nagłówek funkcji niż orginalny
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

zjadłeś key_state a to ważna zmienna która przetrzymuje wartość danego klawisza dala każdego musi być inna zmienna.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2017, o 16:04 
Offline
Użytkownik

Dołączył(a): 06 wrz 2016
Posty: 35
Zbananowany użytkownik

Pomógł: 0

Nagłówek który podałeś różni się od tego z BB. W BB key_state jest wewnątrz funkcji. Skąd wziąłeś ten nagłówek?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2017, o 16:19 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 568
Pomógł: 28

to czysty kod z BB lekcja _17SuperDebonce ale to nie istotne może masz inną wersją BB bo były 2 w twardej i miękiej okładce jak mam wydanie 2 w twardej okładce.
Jak masz key_state w sirodku to pewnie z specyfikatorem static i to jest najprawdopodobniej przyczyną twoich kłopotów zajrzyj na stronę atnel w wydawnictwo czy nie na uaktualnienia do tej funkcji Mirek tam ma powstawiane parę uaktualnień do swoich kodów.

------------------------ [ Dodano po: 13 minutach ]

a poza tym jaki problem zmienić sobie to jak ci pokazałem nagłówek funkcji wystarczy powołać sobie zmienne globalne dla każdego klawisza i przekazywać je do funkcji w ten sposób
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
dla 1 klawisza
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
dla 2 klawisza itp..

------------------------ [ Dodano po: 27 minutach ]

chociaż to ty masz coś namieszane w tej funkcji zobacz ten wątekhttp://forum.atnel.pl/post6106.html#p6106


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2017, o 00:39 
Offline
Użytkownik

Dołączył(a): 06 wrz 2016
Posty: 35
Zbananowany użytkownik

Pomógł: 0

Też mam wydanie 2 w twardej okładce. Oczywiście mogę spróbować użyć innej wersji SuperDebounce, z tego co zrozumiałem to w BB są dwie różne w zależności od lekcji. Sprawdzę to jutro jak będę w domu.

Ale nie rozumiem dlaczego dzieje się tak jak napisałem. Korzystałem już wielokrotnie z tej wersji SuperDebounce i nigdy nie było problemu. Zresztą tak jak napisałem wystarczy zakomentować jeden przycisk i też jest OK, problem pojawia się kiedy są wszystkie 4.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2017, o 16:32 
Offline
Użytkownik

Dołączył(a): 06 wrz 2016
Posty: 35
Zbananowany użytkownik

Pomógł: 0

tonygryps napisał(a):
chociaż to ty masz coś namieszane w tej funkcji zobacz ten wątekhttp://forum.atnel.pl/post6106.html#p6106


Dzięki, ta poprawiona wersja SuperDebounce działa bez zarzutu.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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