Hirdetés

Új hozzászólás Aktív témák

  • gyapo11

    őstag

    válasz Teasüti #3387 üzenetére

    A te megoldásod se jó, ha van prell. A prell ugyanis pont olyan, mint a nyomógomb rendes működése, csak gyorsan történik. Tehát ha nincs a beolvasásban időzítés, hanem rábízzuk a sebességet a processzorra, akkor az olyan gyors, hogy simán feldolgozza a ms nagyságrendű prellt is, és lekezeli mint gyors gombnyomkodást.
    Kis késleltetés (10 ms körüli) megoldja, persze nem elegáns delay-jel, hanem millis-sel, hogy közben azért a program futhasson. Az interruptos megoldásnál meg az kell, hogy amikor beérkezik az első állapotváltás, akkor egy időzítést indítani, és ezt figyelni az interrupt függvényben, ha az időzítés még nem járt le, akkor figyelmen kívül kell hagyni az állapotváltásokat, mert azok a prell miatt vannak. Ha lejárt az időzítő, akkor megint ki lehet szolgálni a következő 1 db állapotváltást. Az interrupt függvényben ugyan nem működik a millis, de a meghíváskori állapota is megfelelő.
    És lehet azt is csinálni, hogy két állapotváltás közötti időt mérni, és ha az kisebb egy adott értéknél, akkor figyelmen kívül hagyni. Pl. 20 ms-en belül ember nem tudja megnyomni kétszer, a prell meg ez idő alatt lecseng.

Új hozzászólás Aktív témák