Hirdetés

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

  • gyapo11

    őstag

    válasz Imy #10169 üzenetére

    Nálam úgy volt, hogy a gomb benyomására egy változóba került a millis() értéke, indult egy while ciklus, ami figyelte a gomb felengedését, amikor ez bekövetkezett, akkor a jelenlegi és eltárolt millis összehasonlításából kiderült a nyomvatartási idő. Hátránya ennek a megoldásnak, hogy amíg a while fut, addig a loopban levő többi teendő nem fut, de nálam ez nem volt gond.
    Ha fontos, hogy közben a loop pörögjön, akkor kicsit bonyolultabb.
    Gomb benyomása után változóba millis, ezután olvasgatni a millist meg a gomb állapotát, 50 ms-en belül nem kell nézni a gomb felengedését, az még prell idő, utána már igen, és a felengedéskor kiszámolni a jelenlegi és a tárolt millis értékéből a nyomvatartási időt.
    Hogy mikor mit csináljon a pörgő loopban, azt egy változóval lehet vezérelni, értékétől függően pl. egy switch egy-egy ága fut. Ha a változó 1, akkor mondjuk várja a gomb benyomását. Ha benyomódott a gomb, akkor a változóba 2, ekkor várja a felengedést. Ha felengedted, akkor változóba megint 1, és ismét várja a megnyomást.
    Vagy vannak időzítő libek is, amikkel talán egyszerűbb, még nem próbáltam ilyeneket.

    menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

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