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.