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



Teraz jest 29 lip 2026, o 12:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 11 cze 2015, o 17:08 
Offline
Użytkownik

Dołączył(a): 27 lip 2012
Posty: 59
Pomógł: 0

Witam!

Piszę sobie w wolnej chwili takie uniwersalne funkcje do kolekcji. Doszedłem do obsługi przycisków i ugrzęzłem. Dawno temu (bo to już prawie 3 lata), podpatrzyłem fajny patent Mirka z bloga, z artykułu "Obsługa klawiszy - drgania styków CD...2". Korzystałem z pierwszego listingu, ale nie jako funkcji tylko zwykłych warunków w pętli nieskończonej. W każdym razie - po przerobieniu listingu na funkcję przestał on działać, jak powinien. Dioda praktycznie nie reaguje (po wciśnięciu trochę mocniej świeci).

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


Zmiana nastąpiła, gdy na koniec funkcji debounce() dodałem "return 0;", ale reakcja stała się mułowata i nie zawsze funkcja działała. Jak myślicie, w czym tkwi błąd? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2015, o 19:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

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


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


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

a nie uint8_t?

Oprócz tego zainteresuj się obsługą klawiszy z trzeciej części tego poradnika:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2015, o 21:01 
Offline
Użytkownik

Dołączył(a): 27 lip 2012
Posty: 59
Pomógł: 0

Te błędy, które kolega wytknął wkradły się do podanego przeze mnie kodu tylko dlatego, że kombinowałem z różnymi opcjami i zapomniałem zmienić ich przed wysłaniem na forum do wersji, którą zaproponował Mirek.

W każdym razie - problem rozwiązany :) Kompilator wypluwał już wcześniej warning, że brakuje możliwości zwracania 0 przez funkcję. Po zmianie tych drobnych błędów i dopisaniu na końcu tego "return 0;", które wcześniej zamulało program, teraz podziałało :)

Działający kod:
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  
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 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