Funkcia → delay()
Popis :
Pozastaví program na čas (v milisekundách) zadaný ako parameter. (Sekunda = 1000 milisekúnd.)
Syntax :
delay(ms)
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