Hirdetés
- Jövő héten indul a Xiaomi kameraforradalma
- Csonkítás áldozata lett a nemzetközi Redmi Note 15 Pro+
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Akciófigyelő: December 24-ig tart az Ulefone karácsonyi leárazása
- Bemutatta a Xiaomi a Redmi Note 15 és Note 15 5G globális változatát
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Milyen robotporszívót vegyek karácsonyra? (2025)
- iPhone topik
- Azonnali mobilos kérdések órája
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fél perc csend, majd világra jön egy Magic8 Pro
- Honor 200 Pro - mobilportré
- Vivo X200 Pro - a kétszázát!
-
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
-
hukhl
csendes tag
Sziasztok!
Lenne egy kezdő kérdésem. Nyomógomb lenyomásainak számát számolom és erre léptetek állapotokat, mint egy állapotgép szerűen. Az egyes állapotokban 4 db LED-et villogtatok. (minden állapotban más-más sorrendben) Először delay-t használtam. Ezzel az volt a gond, hogy, amíg az egyik állapotom nem járt le addig nem tudtam tovább léptetni.
Aztán rátaláltam a millis()-re amivel szépen meglehetne ezt oldani. Mivel sok LED-em van és sok állapotom, így arra gondoltam, hogy ezt behívható funkcióként kellene megcsinálni. És amikor az egyik állapotban meghívom, akkor megadom a funkció bemeneti értékként a kívánt LED számát és a késleltetés idejét. Ezt a funkciót egy állapotban többször meghívva különböző LED-eket különböző ideig lehetne villogtatni. És közben elvileg a nyomógombom állapotát is tudom figyelni.
Idáig jutottam:
//---------------
//Function
//--------------bool LedMillis(long interval, int LEDPin, unsigned long currentMillis, bool ledState){
bool LEDStateResultInternal;
unsigned long previousMillis = 0;if (currentMillis - previousMillis >= interval)
{if(ledState == LOW)
{
ledState = HIGH;ledState = LEDStateResultInternal;
}
else{
ledState = LOW;
ledState = LEDStateResultInternal;
}
previousMillis = currentMillis;
digitalWrite(LEDPin, ledState);
}
return LEDStateResultInternal;
}Az adott kimenet számát, amelyhez a LED tartozik - LEDPin értéken adom be
CurrentMillis-nél az aktuális Millis értéket adom be
ledState-értéknél pedig a returnként visszaadott led állapot csatolom vissza.A previousMillis értékem sajnos mindig 0 marad mivel újra meghívódik a funkció és kinullázódik.
A previousMillis érétket valahogy funkció meghívásonként el lehet tárolni valahogy külön-külön?
Visszatérési értékként lehet több különböző adatot visszaadni?
Bocsánat, ha kicsit katyvasznak tűnik így elsőre.
Még szoknom kell ezt a környezetet.
Köszönöm a segítséget!

Új hozzászólás Aktív témák
- NFL és amerikai futball topik - Spoiler veszély!
- Robotporszívók
- PROHARDVER! feedback: bugok, problémák, ötletek
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Vicces képek
- Battlefield 6
- Samsung kuponkunyeráló
- Polgári repülőgép-szimulátorok
- Windows 11
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest



ekkold

