Açıklama
pulseInLong()
, uzun pulse ve etkilenen senaryoları kesintiye uğratmada daha iyi olan pulseIn () yöntemine bir alternatiftir.
Pim üzerinde bir darbe ( HIGH
veya LOW
) okur. Örneğin, value
olduğu HIGH
, pulseInLong()
gitmek için pim bekler LOW
için HIGH
, zamanlama, o zaman gitmek için pim bekler başlar LOW
ve zamanlama durur. Darbenin mikrosaniye cinsinden uzunluğunu döndürür ya da pes eder ve zaman aşımı içinde tam darbe alınmazsa 0 döndürür.
Bu işlevin zamanlaması ampirik olarak belirlenmiştir ve muhtemelen daha kısa darbelerde hatalar gösterecektir. 10 mikrosaniyeden 3 dakika uzunluğa kadar olan darbelerde çalışır. Bu rutin sadece kesmeler etkinleştirildiğinde kullanılabilir. Ayrıca en yüksek çözünürlük geniş aralıklarla elde edilir.
Sözdizimi
pulseInLong(pin, value)
pulseInLong(pin, value, timeout)
Parametreler
pin
: Nabzı okumak istediğiniz Arduino pininin numarası. İzin verilen veri türleri: int
.
value
: okunacak darbe türü: YÜKSEK veya DÜŞÜK . İzin verilen veri türleri: int
.
timeout
(isteğe bağlı): darbenin başlamasını bekleyecek mikrosaniye sayısı; varsayılan bir saniyedir. İzin verilen veri türleri: unsigned long
.
İadeler
Zaman aşımından önce nabız başlamazsa nabzın uzunluğu (mikrosaniye cinsinden) veya 0. Veri türü: unsigned long
.