Arduino Programlama Dili – Zaman Kavramı

with Yorum yapılmamış





millis()

Arduino kurulu mevcut programı çalıştırmaya başlamasından bu yana milisaniye sayısını döndürür.

Yaklaşık 50 gün sonra bu numara taşacaktır (sıfıra döner).

Bir programcı int gibi daha küçük veri türleriyle aritmetik yapmaya çalışırsa millis() için dönüş değerinin unsigned long olduğunu,

mantıksal hataların oluşabileceğini lütfen unutmayın.

micros()

Arduino kurulu geçerli programı çalıştırmaya başladıktan sonra geçen mikrosaniye sayısını döndürür.

Yaklaşık 70 dakika sonra bu numara taşacaktır (sıfıra döner).

16 MHZ Arduino kartlarda (örn., Duemilanove ve Nano), bu işlevin çözünürlüğü dört mikrosaniyeye eşittir

(yani döndürülen değer daima dörtlü bir katıdır).

8 MHz Arduino kartlarında (ör. LilyPad), bu işlev sekiz mikrosaniyelik bir çözünürlüğe sahiptir.

Not: saniyede 1.000 mikrosaniye ve 1.000.000 mikrosaniye vardır.




delay()

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

delay(milisaniye) şeklinde kullanılır.

Uyarı

delay() işlevi ile yanıp sönen bir LED oluşturmak kolaydır ve birçok skeç düğmeyi bırakmak gibi görevler için kısa gecikmeler

kullansa da, bir eskizdeki delay() kullanımı önemli dezavantajlara sahiptir.

delay() işlevi kullanığımızda belirttiğimiz değer kadar arduino hiçbirşey yapmadan bekler.

O yüzden bazı durumlarda millis() işlevi kullanırız. Bu fonksiyon arduino programı çalıştırmaya başladığında beri geçen süreyi

verdiği için istediğimiz süre aralarınlda işlem yaptırabilir ve bu sayede arduinoyu hiç durdurmamış oluruz.

delayMicroseconds()

Programı parametre olarak belirtilen süre boyunca (mikro saniye olarak) duraklatır.

Milisaniye içinde bin mikrosaniye saniyede bir milyon mikrosaniye vardır.

Şu anda, kesin bir gecikme yaratacak en büyük değeri 16383‘tür.

Bu, gelecekteki Arduino sürümlerinde değişebilir.

Bunun yerine birkaç bin mikrosaniyeden daha uzun gecikmeler için delay() kullanmalısınız.

8 numaralı pini, bir çıkış pini olarak çalışacak şekilde yapılandırır.

Yaklaşık 100 mikrosaniye süreli bir darbe şekli gönderir.

Uyarılar ve Bilinen Sorunlar

Bu işlev, 3 mikrosaniye ve üzeri aralıklarla çok doğru çalışır.

3 Mikrosaniye’den daha az değerlerde bu fonksiyon doğru çalışmayalabilir. !

Arduino 0018 itibarıyla, delayMicroseconds() artık kesmeleri devre dışı bırakmaz.








NOT: Buradaki bilgiler arduino.cc sitesinden Türkçeye çevrilmiştir.
Türkçe çevirinin tüm hakları saklıdır.
Bu web sayfası sadece link olarak paylaşılabilir.
Sayfada herhangi bir hata, öneri ve yorumlarınız için iletişim kurmanızı bekleriz.


Bir Cevap Yazın