Funkcia → delay()

Popis :

Pozastaví program na čas (v milisekundách) zadaný ako parameter. (Sekunda = 1000 milisekúnd.)

Syntax :

Parametre :

ms: počet milisekúnd do pauzy. Povolené typy údajov: unsigned long.

Returns : 

Príklad kódu :

Program Blink

int ledPin = 13;              // LED pripojená k digitálnemu kolíku 13

void setup() {
  pinMode(ledPin, OUTPUT);    //nastaví digitálny pin ako výstup
}

void loop() {
  digitalWrite(ledPin, HIGH); // zapne LED
  delay(1000);                // čaká sekundu
  digitalWrite(ledPin, LOW);  // vypne LED
  delay(1000);                // čaká sekundu
}

Poznámky :

Zatiaľ čo je jednoduché vytvoriť blikajúcu LED pomocou funkcie delay() a mnohé skice používajú krátke oneskorenia pre také úlohy, ako je odskok spínača,

použitie delay() v skici má značné nevýhody. Počas funkcie oneskorenia nemôže prebiehať žiadne iné čítanie senzorov, matematické výpočty alebo manipulácia s kolíkmi,

takže v skutočnosti zastaví väčšinu ostatných činností. Znalejší programátori sa zvyčajne vyhýbajú používaniu delay() na načasovanie udalostí dlhších ako 10 milisekúnd, pokiaľ nie je skic Arduina veľmi jednoduchý.

Určité veci však prebiehajú, aj pokiaľ funkcia delay() ovláda čip Atmega, pretože funkcia oneskorenia teda delay() nevypína prerušenia. Sériová komunikácia, ktorá sa objaví na RX pine, sa zaznamená, hodnoty PWM (analogWrite) a stavy pinov sa zachovajú a prerušenia budú fungovať tak, ako majú.


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Nemôžete kopírovať obsah tejto stránky