Jak efektywnie zminimalizować drgania klawiszy w programowaniu? Propozycje z flagami
Re: =?iso-8859-2?Q?Obs=B3uga?= klawiatury i drgania
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: =?iso-8859-2?Q?Obs=B3uga?= klawiatury i drgania
Date: Tue, 07 May 2002 19:19:22 +0200
Algorithm by Irek Niemczyk :-) -> może mnie nie pobije, a duży jest ;-)
Spoko Marcinie ;-)) (duży? - no prosze :-) )
Dalej czytałem że jest tego od groma.....
To może zrobić tak: (gdybam sobie, bo nie wiem jakie masz założenia np: czasowe)
Zadeklarować flagi dla wszystkich klawiszy i ustawić je w stan spoczynku,
następnie w przerwaniu (powiedzmy co np: 0,5ms) czytać jeden klawisz i je¶li
wykryjesz jego naci¶nięcie to ustawić odpowiadającą mu flagę - je¶li nie - zerować
ją. Jak dojdziesz do ostatniego - to od nowa proszę ;-))
W ten sposób _ważno¶ć flagi_ wynosi 34ms i masz załatwioną sprawę drgań o ile
tylko w programie będziesz bazował na tych flagach :-))
Dodatkową zaletą jest to - że możesz nacisnąć wszystkie na raz ;-)))) Wadą - że
reagują ze zwłoką (co to będzie - organy ?)
Je¶li ta zwłoka jest nie do przyjęcia - trzeba by wprowadzić _licznik czasu życia
klawisza_, a dla 68 klawiszy to już troszkę zasobów pochłonie :-(
Kiedy¶ chciało mi się przećwiczyć zwykły przycisk (switch) i wyszło mi, że
zazwyczaj kończy drgania po 3-5ms, ale zdarza się że i 20 przewali jak go kto¶
lekko potraktuje ;-) Większe pewnie potrzebują więcej czasu.
Tyle na szybko.
--
PZD, Irek.N.