Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Újra Realme telefont tervezett Fukaszava Naotó
- Huawei P40 Pro - kilökték a célegyenesben
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Apple Watch
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Google Pixel topik
- MIUI / HyperOS topik
- Huawei Watch D2 - nyomás utána!
- iPhone topik
-
Mobilarena
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
- Milyen RAM-ot vegyek?
- Okos Otthon / Smart Home
- Eredeti játékok OFF topik
- Milyen légkondit a lakásba?
- Ingyen és modern rendszerekre szánva tér vissza az Unreal Tournament 2004
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- TCL LCD és LED TV-k
- Milyen videókártyát?
- Milyen processzort vegyek?
- További aktív témák...
- Apple iPhone 14 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3677
- 2x12 GB-os DDR5 SODIMM memória + DIMM adapter asztali PC-hez - garanciával
- Xiaomi Redmi Note 13 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 15 Plus 256GB Green-1 ÉV GARANCIA - Kártyafüggetlen, MS4264, 92% Akksi
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold

