Hirdetés
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
- Lalikiraly: Kaáli Autó-Motor Múzeum
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Magga: PLEX: multimédia az egész lakásban
- GoodSpeed: KLINTHOLM 3 fiókos fekete, acél, zárható kiegészítő elem
- sziku69: Fűzzük össze a szavakat :)
- ldave: New Game Blitz - 2025
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
gyapo11
őstag
válasz
zoombiee
#14015
üzenetére
Két dolog biztos kell, a pergésmentesítés és az időzítés.
A nyomógomb prelljére legegyszerűbb megoldás az adott idő utáni új beolvasás. Ha 0-ra vált a bemenet, onnantól kb. 50 ms múlva újra be kell olvasni, és ha még mindig 0, akkor a nyomógomb megnyomott állapotban van. Fölengedésnél ez nem kell, tételezzük föl, hogy megnyomott állapotban egy pillanatra sem szakad meg a vezetése.
Az időzítés pedig a millis() használatával és egy gomb figyelésével a következő:
if(1-es gomb megnyomva && regimill==0)
{regimill=millis()}if(1-es gomb megnyomva && (millis()-regimill)>1000)
{lejárt az 1 másodperc}if(regimill>0 && (millis()-regimill)>1000)
{regimill=0}A lényeg, hogy ne álljon le a loop pörgése, sok programban ez gond lenne, nálad is kerülhet be olyan programrészlet, aminek folyamatosan futnia kell, ezért ne használd a delayt.
Amint az 1-es gomb megnyomott állapotba kerül és a regimill változó értéke 0, beíródik a regimillbe a millis() aktuális értéke. Ez az if a továbbiakban a regimill nullázásáig nem hajtódik végre.
A második if-ben két feltételnek kell teljesülnie, ekkor lejárt az 1 másodperc.
A harmadik if biztosítja, hogy ha letelt az 1 másodperc, akkor is nullázza a regimill változót, ha közben fölengedték az 1-es gombot.
Még azt érdemes megoldnani, hogy a gomb fölengedésekor azonnal nullázza a regimill változót, hogy a következő gombnyomáskor indulhasson a számlálás.
Új hozzászólás Aktív témák
- Arc Raiders
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A54 - türelemjáték
- Azonnali alaplapos kérdések órája
- Gyúrósok ide!
- Milyen videókártyát?
- Milyen légkondit a lakásba?
- Kormányok / autós szimulátorok topikja
- Parfüm topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- Asus TUF Gaming A15 AMD Ryzen 5-7535H/16GB RAM/512GB SSD/RTX3050VGA/15,6" 144Hz kijelző
- Samsung Galaxy S25 Ultra 256GB fekete garanciával
- Iphone 13 128gb Midnight 81% + töltő + füles + tok
- -ÚJ,2 ÉV GAR- DDR5 GAMER PC: RYZEN 5 8400F/9600X +RX 9060XT/9070/9070XT +16-64GB DDR5! SZÁMLA!
- DJI Mini 4 Pro Fly More Combo (DJI RC 2) (GL) (Bontatlan)
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Kezdő Gamer PC-Számítógép!Csere-Beszámítás! I5 6500 / RX580 8GB / 16GB DDR4 / 512 SSD
- GYÖNYÖRŰ iPhone 13 mini 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3405
- Apple iPhone 12 Pro / 128GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy S21+ / 8/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold
