delay()



Açıklama

Programı parametre olarak belirtilen süre (milisaniye cinsinden) duraklatır. (Saniyede 1000 milisaniye vardır.)

Sözdizimi

delay(ms)

Parametreler

ms : duraklatılacak milisaniye sayısı. İzin verilen veri türleri: unsigned long .

İadeler

Hiçbir şey değil

Örnek Kod

Kod, çıkış pimini değiştirmeden önce programı bir saniye duraklatır.

int ledPin = 13;              // LED connected to digital pin 13

void setup() {
  pinMode(ledPin, OUTPUT);    // sets the digital pin as output
}

void loop() {
  digitalWrite(ledPin, HIGH); // sets the LED on
  delay(1000);                // waits for a second
  digitalWrite(ledPin, LOW);  // sets the LED off
  delay(1000);                // waits for a second
}

Notlar ve Uyarılar

delay() işleviyle yanıp sönen bir LED oluşturmak kolay olsa da ve çoğu çizimde anahtarın açılması gibi görevler için kısa gecikmeler kullanılırken, bir çizimde delay() kullanmanın önemli dezavantajları vardır. Gecikme fonksiyonu sırasında başka hiçbir sensör okuması, matematiksel hesaplamalar veya pim manipülasyonu devam edemez, bu nedenle aslında diğer birçok aktiviteyi durdurur. Zamanlamayı kontrol etmek için alternatif yaklaşımlar için, millis () işlevini yeterli süre geçinceye kadar yoklayarak döngüleyen Gecikmesiz Göz Kırpma çizimine bakın . Daha bilgili programcılar, Arduino çizimi çok basit olmadıkça genellikle 10 milisaniyeden uzun olayların zamanlaması için delay() kullanımından kaçınırlar.

Delay () işlevi Atmega çipini kontrol ederken bazı şeyler devam eder, çünkü delay işlevi kesintileri devre dışı bırakmaz. RX pininde görünen seri iletişim kaydedilir, PWM ( analogWrite ) değerleri ve pin durumları korunur ve kesmeler olması gerektiği gibi çalışır.

Ayrıca Bakınız