Ten zapis
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
można by zapisać w ten sposób
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Czyli warunek będzie spełniony wtedy gdy zmienna key2_lock będzie miała wartość równą 0.
Reakcja na zwolnienie klawisza działa w ten sposób.
Po wciśnięciu klawisza spełniony zostaje warunek
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Bo zmienna key2_lock ma wartość zero i klawisz jest wciśnięty (stan niski na pinie KEY2). Warunek ten jest spełniony tak długo jak wciśnięty jest klawisz. Czyli po wciśnięciu klawisza zmienna key2_lock ustawiana jest na jeden.
Po puszczeniu klawisza spełniony zostaje warunek
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jeśli ten warunek jest spełniony to program w tej linii
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
najpierw zwiększa wartość key2_lock o jeden i sprawdza czy zmienna ma wartość zero. Ten if w tej chwili nie jest spełniony.
W następnym obiegu pętli program znów zwiększa wartość zmiennej i sprawdza jej wartość. I tak do momentu aż zmienna " się przekręci" z 255 na 0. Wtedy if zostanie spełniony i wykona się to co ma się wykonać po puszczeniu przycisku.
Czas w którym zmienna key2_lock zwiększ swoją wartość to jest właśnie debouncing.