delay()

[Time]

Açıklama

Programı, parametre olarak belirtilen süre kadar (milisaniye cinsinden) duraklatır. (Bir saniyede 1000 milisaniye vardır.)

Sözdizimi

delay(ms)

Parametreler

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

Geri Dönüş

Yok

Örnek Kod

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

int ledPin = 13;              // LED bağlantısı dijital pin 13'e yapıldı

void setup() {
pinMode(ledPin, OUTPUT);    // dijital pinin çıkışı ayarlandı
}
                        
void loop() {
digitalWrite(ledPin, HIGH); // LED'i açar
delay(1000);                // bekleme süresi
digitalWrite(ledPin, LOW);  // LED'i kapatır.
delay(1000);                // bekleme süresi.
}
                        

                    

Notlar ve Uyarılar

Delay() işleviyle yanıp sönen bir LED oluşturmak kolay olsa da birçok çizim ve anahtarın geri dönmesi gibi görevler için kısa gecikmeler kullanır,Bir çizimde delay() kullanımının önemli dezavantajları vardır.Sensörlerin başka okuması yok, matematiksel hesaplamalar veya pin manipülasyonu, gecikme işlevi sırasında devam edebilir, bu nedenle, aslında, diğer birçok aktiviteyi durdurur. Zamanlamayı denetlemeye yönelik alternatif yaklaşımlar için, yeterli süre geçene kadar millis() işlevini yoklayan döngüler oluşturan Gecikmesiz Göz Kırp çizimine bakın. Daha bilgili programcılar, Arduino taslağı çok basit olmadığı sürece, 10 milisaniyeden daha uzun olayların zamanlaması için genellikle delay() kullanımından kaçınırlar.

Delay() işlevi Atmega çipini kontrol ederken bazı işlevler devam ediyor ancak, gecikme işlevi kesintileri devre dışı bırakmadığından RX pininde görünen seri iletişim kaydedilir.PWM (analogWrite) değerleri ve pin durumları korunur,ve kesintiler olması gerektiği gibi çalışacaktır.