haloon napisał(a):
Odpowiadając: warunek z linii nr.2 nie zostanie spełniony ponieważ key_state zostało z wartością 1.
tak tak - dlatego skasowałem wcześniejszą wypowiedź zanim napisałeś swoją ... teraz jeszcze patrzę na to i za chwilę napiszę kilka słów
------------------------ [ Dodano po: 13 minutach ]Po pierwsze to ogromna radość, że TAK głęboko wszedłeś w tę funkcję ... to mnie bardzo cieszy.
Po drugie - rzeczywiście w pewnych sytuacjach może dojść do tego co mówisz - chociaż ja tu założyłem właśnie możliwości REGULACJI tym doborem czasu na różnych etapach .... Nie mniej jednak biorąc pod uwagę aż takie coś:
haloon napisał(a):
a w wersji hardcorowej przy kątowym atakowaniu słicza z dużą szybkością, nawet poniżej 10ms.
No to rzeczywiście .... jak się "postarać" to można.
Ja bym może dodał nieco krótszy ten warunek .... bo nie musimy czekać aż Timer1 będzie równy 0, tylko od razu i ZAWSZE gdy klawisz zwolniony a stan jest = debounce to .... zrobiłbym to tak
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
------------------------ [ Dodano po: 18 minutach ]Generalnie - to powiem tak - CELEM albo inaczej GŁÓWNE CELE jakie mi przyświecały pisząc tę funkcję to:
1. Pokazać czytelnikowi jak działają timery programowe
2. pokazać jak należałoby próbować podchodzić do obsługi klawisza (szczególnie chodzi o repetycję)
3. pokazać jak korzystać w prosty sposób ze wskaźników na funkcje przekazywanych do innej funkcji - czyli pierwsze zetknięcie z TAK WAŻNYMI z mojego punktu widzenia CALLBACKAMI (czyli mechanizmem funkcji zwrotnych)
4. pokazać jak pisać funkcje nieblokujące z nieco rozbudowaną tzw maszyną stanów
5. Na pewno nie miała to być NAJLEPSZA FUNKCJA na świecie do obsługi klawiszy i nawet pomimo tej poprawki nadal wg mnie nie będzie pretendować do tego tytułu .... bo obsługuje wciskanie tylko pojedynczych klawiszy (dwóch naraz nie da się wykryć)
a też np by się przydało w wielu sytuacjach
Jak dla mnie punkty od 1 do 4 kolega zaliczył na piątkę ! ... dlatego piszę, że to miło słyszeć - że się przydało to co napisałem
------------------------ [ Dodano po: 22 minutach ]O! nawet jeszcze inaczej nieco bym to zrobił - tego IF'a zabezpieczającego umieściłbym na końcu łańcuszka - aby nie tracić cennego czasu funkcji nieblokującej!
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]